diff --git a/Packages.Data.props b/Packages.Data.props index 0a231eb0f71..ab991260724 100644 --- a/Packages.Data.props +++ b/Packages.Data.props @@ -34,7 +34,7 @@ - + diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/AvailabilitySetCollection.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/AvailabilitySetCollection.cs index 747fb96ee6f..a869ff3d248 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/AvailabilitySetCollection.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/AvailabilitySetCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateA try { var response = await _availabilitySetRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data, cancellationToken).ConfigureAwait(false); - var operation = new SampleArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wa try { var response = _availabilitySetRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data, cancellationToken); - var operation = new SampleArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/AvailabilitySetResource.Serialization.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/AvailabilitySetResource.Serialization.cs new file mode 100644 index 00000000000..380f4217777 --- /dev/null +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/AvailabilitySetResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace AzureSample.ResourceManager.Sample +{ + public partial class AvailabilitySetResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + AvailabilitySetData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + AvailabilitySetData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/AvailabilitySetResource.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/AvailabilitySetResource.cs index 6d805dbc987..969d9114ef0 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/AvailabilitySetResource.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/AvailabilitySetResource.cs @@ -203,7 +203,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _availabilitySetRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new SampleArmOperation(response); + var uri = _availabilitySetRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -245,7 +247,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _availabilitySetRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new SampleArmOperation(response); + var uri = _availabilitySetRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/DedicatedHostGroupCollection.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/DedicatedHostGroupCollection.cs index 5557fb95fb3..e7b32144a42 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/DedicatedHostGroupCollection.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/DedicatedHostGroupCollection.cs @@ -92,7 +92,9 @@ public virtual async Task> CreateOrUpda try { var response = await _dedicatedHostGroupRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, hostGroupName, data, cancellationToken).ConfigureAwait(false); - var operation = new SampleArmOperation(Response.FromValue(new DedicatedHostGroupResource(Client, response), response.GetRawResponse())); + var uri = _dedicatedHostGroupRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, hostGroupName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(Response.FromValue(new DedicatedHostGroupResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -141,7 +143,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil try { var response = _dedicatedHostGroupRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, hostGroupName, data, cancellationToken); - var operation = new SampleArmOperation(Response.FromValue(new DedicatedHostGroupResource(Client, response), response.GetRawResponse())); + var uri = _dedicatedHostGroupRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, hostGroupName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(Response.FromValue(new DedicatedHostGroupResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/DedicatedHostGroupResource.Serialization.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/DedicatedHostGroupResource.Serialization.cs new file mode 100644 index 00000000000..7f26299cdad --- /dev/null +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/DedicatedHostGroupResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace AzureSample.ResourceManager.Sample +{ + public partial class DedicatedHostGroupResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + DedicatedHostGroupData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + DedicatedHostGroupData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/DedicatedHostGroupResource.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/DedicatedHostGroupResource.cs index 4ace910ed3f..a4f1d830dbc 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/DedicatedHostGroupResource.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/DedicatedHostGroupResource.cs @@ -275,7 +275,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _dedicatedHostGroupRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new SampleArmOperation(response); + var uri = _dedicatedHostGroupRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -317,7 +319,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _dedicatedHostGroupRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new SampleArmOperation(response); + var uri = _dedicatedHostGroupRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/DedicatedHostResource.Serialization.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/DedicatedHostResource.Serialization.cs new file mode 100644 index 00000000000..242ad052955 --- /dev/null +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/DedicatedHostResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace AzureSample.ResourceManager.Sample +{ + public partial class DedicatedHostResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + DedicatedHostData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + DedicatedHostData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/ImageResource.Serialization.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/ImageResource.Serialization.cs new file mode 100644 index 00000000000..28e4381cb53 --- /dev/null +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/ImageResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace AzureSample.ResourceManager.Sample +{ + public partial class ImageResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + ImageData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + ImageData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/LongRunningOperation/SampleArmOperation.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/LongRunningOperation/SampleArmOperation.cs index fdc2221db32..6f72f7e16b6 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/LongRunningOperation/SampleArmOperation.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/LongRunningOperation/SampleArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class SampleArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of SampleArmOperation for mocking. protected SampleArmOperation() { } - internal SampleArmOperation(Response response) + internal SampleArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal SampleArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "SampleArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/LongRunningOperation/SampleArmOperationOfT.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/LongRunningOperation/SampleArmOperationOfT.cs index 23147ad2ddf..0d6fe958a0b 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/LongRunningOperation/SampleArmOperationOfT.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/LongRunningOperation/SampleArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class SampleArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of SampleArmOperation for mocking. protected SampleArmOperation() { } - internal SampleArmOperation(Response response) + internal SampleArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal SampleArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "SampleArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "SampleArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/ProximityPlacementGroupCollection.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/ProximityPlacementGroupCollection.cs index 596eca0cf04..ace72c233c3 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/ProximityPlacementGroupCollection.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/ProximityPlacementGroupCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateO try { var response = await _proximityPlacementGroupRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, proximityPlacementGroupName, data, cancellationToken).ConfigureAwait(false); - var operation = new SampleArmOperation(Response.FromValue(new ProximityPlacementGroupResource(Client, response), response.GetRawResponse())); + var uri = _proximityPlacementGroupRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, proximityPlacementGroupName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(Response.FromValue(new ProximityPlacementGroupResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(Wait try { var response = _proximityPlacementGroupRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, proximityPlacementGroupName, data, cancellationToken); - var operation = new SampleArmOperation(Response.FromValue(new ProximityPlacementGroupResource(Client, response), response.GetRawResponse())); + var uri = _proximityPlacementGroupRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, proximityPlacementGroupName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(Response.FromValue(new ProximityPlacementGroupResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/ProximityPlacementGroupResource.Serialization.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/ProximityPlacementGroupResource.Serialization.cs new file mode 100644 index 00000000000..6fd4fedf115 --- /dev/null +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/ProximityPlacementGroupResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace AzureSample.ResourceManager.Sample +{ + public partial class ProximityPlacementGroupResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + ProximityPlacementGroupData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + ProximityPlacementGroupData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/ProximityPlacementGroupResource.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/ProximityPlacementGroupResource.cs index 57c523ca0bc..5090ddcfc6e 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/ProximityPlacementGroupResource.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/ProximityPlacementGroupResource.cs @@ -204,7 +204,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _proximityPlacementGroupRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new SampleArmOperation(response); + var uri = _proximityPlacementGroupRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _proximityPlacementGroupRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new SampleArmOperation(response); + var uri = _proximityPlacementGroupRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs index 68eb2fc9a21..267d26eddaf 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs @@ -37,6 +37,20 @@ public AvailabilitySetsRestOperations(HttpPipeline pipeline, string applicationI _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string subscriptionId, strin } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetPatch patch) { var message = _pipeline.CreateMessage(); @@ -209,6 +237,20 @@ public Response Update(string subscriptionId, string resour } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string availabilitySetName) { var message = _pipeline.CreateMessage(); @@ -278,6 +320,20 @@ public Response Delete(string subscriptionId, string resourceGroupName, string a } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string availabilitySetName) { var message = _pipeline.CreateMessage(); @@ -360,6 +416,21 @@ public Response Get(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreateListBySubscriptionRequestUri(string subscriptionId, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + return uri; + } + internal HttpMessage CreateListBySubscriptionRequest(string subscriptionId, string expand) { var message = _pipeline.CreateMessage(); @@ -433,6 +504,19 @@ public Response ListBySubscription(string subscriptio } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -506,6 +590,21 @@ public Response List(string subscriptionId, string re } } + internal RequestUriBuilder CreateListAvailableSizesRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendPath("/vmSizes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListAvailableSizesRequest(string subscriptionId, string resourceGroupName, string availabilitySetName) { var message = _pipeline.CreateMessage(); @@ -585,6 +684,14 @@ public Response ListAvailableSizes(string subscrip } } + internal RequestUriBuilder CreateListBySubscriptionNextPageRequestUri(string nextLink, string subscriptionId, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBySubscriptionNextPageRequest(string nextLink, string subscriptionId, string expand) { var message = _pipeline.CreateMessage(); @@ -655,6 +762,14 @@ public Response ListBySubscriptionNextPage(string nex } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/DedicatedHostGroupsRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/DedicatedHostGroupsRestOperations.cs index f23a1ba9002..bb3ead31d8f 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/DedicatedHostGroupsRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/DedicatedHostGroupsRestOperations.cs @@ -37,6 +37,20 @@ public DedicatedHostGroupsRestOperations(HttpPipeline pipeline, string applicati _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, DedicatedHostGroupData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string hostGroupName, DedicatedHostGroupData data) { var message = _pipeline.CreateMessage(); @@ -125,6 +139,20 @@ public Response CreateOrUpdate(string subscriptionId, st } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, DedicatedHostGroupPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string hostGroupName, DedicatedHostGroupPatch patch) { var message = _pipeline.CreateMessage(); @@ -211,6 +239,20 @@ public Response Update(string subscriptionId, string res } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string hostGroupName) { var message = _pipeline.CreateMessage(); @@ -280,6 +322,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string h } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, InstanceViewType? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string hostGroupName, InstanceViewType? expand) { var message = _pipeline.CreateMessage(); @@ -368,6 +428,19 @@ public Response Get(string subscriptionId, string resour } } + internal RequestUriBuilder CreateListByResourceGroupRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByResourceGroupRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -441,6 +514,17 @@ public Response ListByResourceGroup(string subscri } } + internal RequestUriBuilder CreateListBySubscriptionRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListBySubscriptionRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -508,6 +592,14 @@ public Response ListBySubscription(string subscrip } } + internal RequestUriBuilder CreateListByResourceGroupNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByResourceGroupNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -580,6 +672,14 @@ public Response ListByResourceGroupNextPage(string } } + internal RequestUriBuilder CreateListBySubscriptionNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBySubscriptionNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/DedicatedHostsRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/DedicatedHostsRestOperations.cs index 224aced4d26..b96cb80a76a 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/DedicatedHostsRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/DedicatedHostsRestOperations.cs @@ -37,6 +37,22 @@ public DedicatedHostsRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, DedicatedHostData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts/", false); + uri.AppendPath(hostName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, DedicatedHostData data) { var message = _pipeline.CreateMessage(); @@ -121,6 +137,22 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, DedicatedHostPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts/", false); + uri.AppendPath(hostName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, DedicatedHostPatch patch) { var message = _pipeline.CreateMessage(); @@ -203,6 +235,22 @@ public Response Update(string subscriptionId, string resourceGroupName, string h } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts/", false); + uri.AppendPath(hostName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName) { var message = _pipeline.CreateMessage(); @@ -280,6 +328,26 @@ public Response Delete(string subscriptionId, string resourceGroupName, string h } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, InstanceViewType? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts/", false); + uri.AppendPath(hostName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, InstanceViewType? expand) { var message = _pipeline.CreateMessage(); @@ -374,6 +442,21 @@ public Response Get(string subscriptionId, string resourceGro } } + internal RequestUriBuilder CreateListByHostGroupRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByHostGroupRequest(string subscriptionId, string resourceGroupName, string hostGroupName) { var message = _pipeline.CreateMessage(); @@ -453,6 +536,14 @@ public Response ListByHostGroup(string subscriptionId, } } + internal RequestUriBuilder CreateListByHostGroupNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string hostGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByHostGroupNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string hostGroupName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/ImagesRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/ImagesRestOperations.cs index 68df2996c88..9f6af64d369 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/ImagesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/ImagesRestOperations.cs @@ -37,6 +37,20 @@ public ImagesRestOperations(HttpPipeline pipeline, string applicationId, Uri end _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string imageName, ImageData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/images/", false); + uri.AppendPath(imageName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string imageName, ImageData data) { var message = _pipeline.CreateMessage(); @@ -115,6 +129,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string imageName, ImagePatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/images/", false); + uri.AppendPath(imageName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string imageName, ImagePatch patch) { var message = _pipeline.CreateMessage(); @@ -193,6 +221,20 @@ public Response Update(string subscriptionId, string resourceGroupName, string i } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string imageName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/images/", false); + uri.AppendPath(imageName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string imageName) { var message = _pipeline.CreateMessage(); @@ -264,6 +306,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string i } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string imageName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/images/", false); + uri.AppendPath(imageName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string imageName, string expand) { var message = _pipeline.CreateMessage(); @@ -352,6 +412,19 @@ public Response Get(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateListByResourceGroupRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/images", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByResourceGroupRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -425,6 +498,17 @@ public Response ListByResourceGroup(string subscriptionId, stri } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/images", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -492,6 +576,14 @@ public Response List(string subscriptionId, CancellationToken c } } + internal RequestUriBuilder CreateListByResourceGroupNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByResourceGroupNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -564,6 +656,14 @@ public Response ListByResourceGroupNextPage(string nextLink, st } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/LogAnalyticsRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/LogAnalyticsRestOperations.cs index bcaf23ff8ed..85995244c4b 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/LogAnalyticsRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/LogAnalyticsRestOperations.cs @@ -36,6 +36,19 @@ public LogAnalyticsRestOperations(HttpPipeline pipeline, string applicationId, U _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateExportRequestRateByIntervalRequestUri(string subscriptionId, AzureLocation location, RequestRateByIntervalContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/logAnalytics/apiAccess/getRequestRateByInterval", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateExportRequestRateByIntervalRequest(string subscriptionId, AzureLocation location, RequestRateByIntervalContent content) { var message = _pipeline.CreateMessage(); @@ -107,6 +120,19 @@ public Response ExportRequestRateByInterval(string subscriptionId, AzureLocation } } + internal RequestUriBuilder CreateExportThrottledRequestsRequestUri(string subscriptionId, AzureLocation location, ThrottledRequestsContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/logAnalytics/apiAccess/getThrottledRequests", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateExportThrottledRequestsRequest(string subscriptionId, AzureLocation location, ThrottledRequestsContent content) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/ProximityPlacementGroupsRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/ProximityPlacementGroupsRestOperations.cs index a5fa345b88a..5462a66ff46 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/ProximityPlacementGroupsRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/ProximityPlacementGroupsRestOperations.cs @@ -37,6 +37,20 @@ public ProximityPlacementGroupsRestOperations(HttpPipeline pipeline, string appl _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string proximityPlacementGroupName, ProximityPlacementGroupData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/proximityPlacementGroups/", false); + uri.AppendPath(proximityPlacementGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string proximityPlacementGroupName, ProximityPlacementGroupData data) { var message = _pipeline.CreateMessage(); @@ -125,6 +139,20 @@ public Response CreateOrUpdate(string subscriptionI } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string proximityPlacementGroupName, ProximityPlacementGroupPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/proximityPlacementGroups/", false); + uri.AppendPath(proximityPlacementGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string proximityPlacementGroupName, ProximityPlacementGroupPatch patch) { var message = _pipeline.CreateMessage(); @@ -211,6 +239,20 @@ public Response Update(string subscriptionId, strin } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string proximityPlacementGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/proximityPlacementGroups/", false); + uri.AppendPath(proximityPlacementGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string proximityPlacementGroupName) { var message = _pipeline.CreateMessage(); @@ -278,6 +320,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string p } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string proximityPlacementGroupName, string includeColocationStatus) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/proximityPlacementGroups/", false); + uri.AppendPath(proximityPlacementGroupName, true); + if (includeColocationStatus != null) + { + uri.AppendQuery("includeColocationStatus", includeColocationStatus, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string proximityPlacementGroupName, string includeColocationStatus) { var message = _pipeline.CreateMessage(); @@ -366,6 +426,17 @@ public Response Get(string subscriptionId, string r } } + internal RequestUriBuilder CreateListBySubscriptionRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/proximityPlacementGroups", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListBySubscriptionRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -433,6 +504,19 @@ public Response ListBySubscription(string sub } } + internal RequestUriBuilder CreateListByResourceGroupRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/proximityPlacementGroups", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByResourceGroupRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -506,6 +590,14 @@ public Response ListByResourceGroup(string su } } + internal RequestUriBuilder CreateListBySubscriptionNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBySubscriptionNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -574,6 +666,14 @@ public Response ListBySubscriptionNextPage(st } } + internal RequestUriBuilder CreateListByResourceGroupNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByResourceGroupNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/SshPublicKeysRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/SshPublicKeysRestOperations.cs index 0c9085f407c..5bb2c5bb9a0 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/SshPublicKeysRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/SshPublicKeysRestOperations.cs @@ -37,6 +37,17 @@ public SshPublicKeysRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListBySubscriptionRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/sshPublicKeys", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListBySubscriptionRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -104,6 +115,19 @@ public Response ListBySubscription(string subscrip } } + internal RequestUriBuilder CreateListByResourceGroupRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/sshPublicKeys", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByResourceGroupRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -177,6 +201,20 @@ public Response ListByResourceGroup(string subscri } } + internal RequestUriBuilder CreateCreateRequestUri(string subscriptionId, string resourceGroupName, string sshPublicKeyName, SshPublicKeyData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/sshPublicKeys/", false); + uri.AppendPath(sshPublicKeyName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateRequest(string subscriptionId, string resourceGroupName, string sshPublicKeyName, SshPublicKeyData data) { var message = _pipeline.CreateMessage(); @@ -265,6 +303,20 @@ public Response Create(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string sshPublicKeyName, SshPublicKeyPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/sshPublicKeys/", false); + uri.AppendPath(sshPublicKeyName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string sshPublicKeyName, SshPublicKeyPatch patch) { var message = _pipeline.CreateMessage(); @@ -351,6 +403,20 @@ public Response Update(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string sshPublicKeyName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/sshPublicKeys/", false); + uri.AppendPath(sshPublicKeyName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string sshPublicKeyName) { var message = _pipeline.CreateMessage(); @@ -420,6 +486,20 @@ public Response Delete(string subscriptionId, string resourceGroupName, string s } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string sshPublicKeyName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/sshPublicKeys/", false); + uri.AppendPath(sshPublicKeyName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string sshPublicKeyName) { var message = _pipeline.CreateMessage(); @@ -502,6 +582,21 @@ public Response Get(string subscriptionId, string resourceGrou } } + internal RequestUriBuilder CreateGenerateKeyPairRequestUri(string subscriptionId, string resourceGroupName, string sshPublicKeyName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/sshPublicKeys/", false); + uri.AppendPath(sshPublicKeyName, true); + uri.AppendPath("/generateKeyPair", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGenerateKeyPairRequest(string subscriptionId, string resourceGroupName, string sshPublicKeyName) { var message = _pipeline.CreateMessage(); @@ -581,6 +676,14 @@ public Response GenerateKeyPair(string subscr } } + internal RequestUriBuilder CreateListBySubscriptionNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBySubscriptionNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -649,6 +752,14 @@ public Response ListBySubscriptionNextPage(string } } + internal RequestUriBuilder CreateListByResourceGroupNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByResourceGroupNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/UsageRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/UsageRestOperations.cs index ef834f35c84..97311fac6b1 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/UsageRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/UsageRestOperations.cs @@ -37,6 +37,19 @@ public UsageRestOperations(HttpPipeline pipeline, string applicationId, Uri endp _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, AzureLocation location) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/usages", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, AzureLocation location) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,14 @@ public Response List(string subscriptionId, AzureLocation loca } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, AzureLocation location) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, AzureLocation location) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs index 23b0265bf16..11f989ef823 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs @@ -37,6 +37,24 @@ public VirtualMachineExtensionImagesRestOperations(HttpPipeline pipeline, string _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, AzureLocation location, string publisherName, string type, string version) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmextension/types/", false); + uri.AppendPath(type, true); + uri.AppendPath("/versions/", false); + uri.AppendPath(version, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, AzureLocation location, string publisherName, string type, string version) { var message = _pipeline.CreateMessage(); @@ -129,6 +147,21 @@ public Response Get(string subscriptionId, Azu } } + internal RequestUriBuilder CreateListTypesRequestUri(string subscriptionId, AzureLocation location, string publisherName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmextension/types", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTypesRequest(string subscriptionId, AzureLocation location, string publisherName) { var message = _pipeline.CreateMessage(); @@ -216,6 +249,35 @@ public Response> ListTypes(strin } } + internal RequestUriBuilder CreateListVersionsRequestUri(string subscriptionId, AzureLocation location, string publisherName, string type, string filter, int? top, string orderby) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmextension/types/", false); + uri.AppendPath(type, true); + uri.AppendPath("/versions", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (orderby != null) + { + uri.AppendQuery("$orderby", orderby, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListVersionsRequest(string subscriptionId, AzureLocation location, string publisherName, string type, string filter, int? top, string orderby) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineExtensionsRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineExtensionsRestOperations.cs index a22e520543a..f8056e6e64d 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineExtensionsRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineExtensionsRestOperations.cs @@ -37,6 +37,22 @@ public VirtualMachineExtensionsRestOperations(HttpPipeline pipeline, string appl _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmName, string vmExtensionName, VirtualMachineExtensionData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmExtensionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vmName, string vmExtensionName, VirtualMachineExtensionData data) { var message = _pipeline.CreateMessage(); @@ -121,6 +137,22 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmName, string vmExtensionName, VirtualMachineExtensionUpdate extensionParameters) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmExtensionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string vmName, string vmExtensionName, VirtualMachineExtensionUpdate extensionParameters) { var message = _pipeline.CreateMessage(); @@ -203,6 +235,22 @@ public Response Update(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmName, string vmExtensionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmExtensionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmName, string vmExtensionName) { var message = _pipeline.CreateMessage(); @@ -280,6 +328,26 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmName, string vmExtensionName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmExtensionName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmName, string vmExtensionName, string expand) { var message = _pipeline.CreateMessage(); @@ -374,6 +442,25 @@ public Response Get(string subscriptionId, string r } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string vmName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/extensions", false); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string vmName, string expand) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineImagesRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineImagesRestOperations.cs index 44f3ce96e3e..92164718cd2 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineImagesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineImagesRestOperations.cs @@ -38,6 +38,26 @@ public VirtualMachineImagesRestOperations(HttpPipeline pipeline, string applicat _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, AzureLocation location, string publisherName, string offer, string skus, string version) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmimage/offers/", false); + uri.AppendPath(offer, true); + uri.AppendPath("/skus/", false); + uri.AppendPath(skus, true); + uri.AppendPath("/versions/", false); + uri.AppendPath(version, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, AzureLocation location, string publisherName, string offer, string skus, string version) { var message = _pipeline.CreateMessage(); @@ -132,6 +152,37 @@ public Response Get(string subscriptionId, AzureLocation lo } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, AzureLocation location, string publisherName, string offer, string skus, string expand, int? top, string orderby) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmimage/offers/", false); + uri.AppendPath(offer, true); + uri.AppendPath("/skus/", false); + uri.AppendPath(skus, true); + uri.AppendPath("/versions", false); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (orderby != null) + { + uri.AppendQuery("$orderby", orderby, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, AzureLocation location, string publisherName, string offer, string skus, string expand, int? top, string orderby) { var message = _pipeline.CreateMessage(); @@ -249,6 +300,21 @@ public Response> List(string subscrip } } + internal RequestUriBuilder CreateListOffersRequestUri(string subscriptionId, AzureLocation location, string publisherName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmimage/offers", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListOffersRequest(string subscriptionId, AzureLocation location, string publisherName) { var message = _pipeline.CreateMessage(); @@ -336,6 +402,19 @@ public Response> ListOffers(string su } } + internal RequestUriBuilder CreateListPublishersRequestUri(string subscriptionId, AzureLocation location) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListPublishersRequest(string subscriptionId, AzureLocation location) { var message = _pipeline.CreateMessage(); @@ -417,6 +496,23 @@ public Response> ListPublishers(strin } } + internal RequestUriBuilder CreateListSkusRequestUri(string subscriptionId, AzureLocation location, string publisherName, string offer) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmimage/offers/", false); + uri.AppendPath(offer, true); + uri.AppendPath("/skus", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListSkusRequest(string subscriptionId, AzureLocation location, string publisherName, string offer) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetExtensionsRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetExtensionsRestOperations.cs index bc177bbf976..8419da09ecb 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetExtensionsRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetExtensionsRestOperations.cs @@ -37,6 +37,22 @@ public VirtualMachineScaleSetExtensionsRestOperations(HttpPipeline pipeline, str _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName, VirtualMachineScaleSetExtensionData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmssExtensionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName, VirtualMachineScaleSetExtensionData data) { var message = _pipeline.CreateMessage(); @@ -121,6 +137,22 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName, VirtualMachineScaleSetExtensionPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmssExtensionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName, VirtualMachineScaleSetExtensionPatch patch) { var message = _pipeline.CreateMessage(); @@ -205,6 +237,22 @@ public Response Update(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmssExtensionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName) { var message = _pipeline.CreateMessage(); @@ -282,6 +330,26 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmssExtensionName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName, string expand) { var message = _pipeline.CreateMessage(); @@ -376,6 +444,21 @@ public Response Get(string subscriptionId, } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/extensions", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -455,6 +538,14 @@ public Response List(string subscript } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetRollingUpgradesRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetRollingUpgradesRestOperations.cs index 31497566f26..958053b9c96 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetRollingUpgradesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetRollingUpgradesRestOperations.cs @@ -36,6 +36,21 @@ public VirtualMachineScaleSetRollingUpgradesRestOperations(HttpPipeline pipeline _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCancelRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/rollingUpgrades/cancel", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCancelRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -106,6 +121,21 @@ public Response Cancel(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateStartOSUpgradeRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/osRollingUpgrade", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateStartOSUpgradeRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -176,6 +206,21 @@ public Response StartOSUpgrade(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateStartExtensionUpgradeRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/extensionRollingUpgrade", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateStartExtensionUpgradeRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -246,6 +291,21 @@ public Response StartExtensionUpgrade(string subscriptionId, string resourceGrou } } + internal RequestUriBuilder CreateGetLatestRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/rollingUpgrades/latest", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetLatestRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetVMExtensionsRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetVMExtensionsRestOperations.cs index 79d06ad7c0f..3c648dad2cd 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetVMExtensionsRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetVMExtensionsRestOperations.cs @@ -37,6 +37,24 @@ public VirtualMachineScaleSetVMExtensionsRestOperations(HttpPipeline pipeline, s _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, string vmExtensionName, VirtualMachineExtensionData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualMachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmExtensionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, string vmExtensionName, VirtualMachineExtensionData data) { var message = _pipeline.CreateMessage(); @@ -127,6 +145,24 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, string vmExtensionName, VirtualMachineExtensionUpdate extensionParameters) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualMachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmExtensionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, string vmExtensionName, VirtualMachineExtensionUpdate extensionParameters) { var message = _pipeline.CreateMessage(); @@ -215,6 +251,24 @@ public Response Update(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, string vmExtensionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualMachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmExtensionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, string vmExtensionName) { var message = _pipeline.CreateMessage(); @@ -299,6 +353,28 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, string vmExtensionName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualMachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmExtensionName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, string vmExtensionName, string expand) { var message = _pipeline.CreateMessage(); @@ -399,6 +475,27 @@ public Response Get(string subscriptionId, string r } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualMachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/extensions", false); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, string expand) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetVMsRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetVMsRestOperations.cs index 02126df515f..322b3578862 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetVMsRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetVMsRestOperations.cs @@ -37,6 +37,23 @@ public VirtualMachineScaleSetVMsRestOperations(HttpPipeline pipeline, string app _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateReimageRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, VirtualMachineScaleSetVmReimageContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/reimage", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateReimageRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, VirtualMachineScaleSetVmReimageContent content) { var message = _pipeline.CreateMessage(); @@ -122,6 +139,23 @@ public Response Reimage(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateReimageAllRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/reimageall", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateReimageAllRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -198,6 +232,23 @@ public Response ReimageAll(string subscriptionId, string resourceGroupName, stri } } + internal RequestUriBuilder CreateDeallocateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/deallocate", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeallocateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -274,6 +325,22 @@ public Response Deallocate(string subscriptionId, string resourceGroupName, stri } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, VirtualMachineScaleSetVmData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, VirtualMachineScaleSetVmData data) { var message = _pipeline.CreateMessage(); @@ -358,6 +425,22 @@ public Response Update(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -435,6 +518,26 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, InstanceViewType? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, InstanceViewType? expand) { var message = _pipeline.CreateMessage(); @@ -529,6 +632,23 @@ public Response Get(string subscriptionId, string } } + internal RequestUriBuilder CreateGetInstanceViewRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/instanceView", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetInstanceViewRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -614,6 +734,33 @@ public Response GetInstanceView(string sub } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string virtualMachineScaleSetName, string filter, string select, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(virtualMachineScaleSetName, true); + uri.AppendPath("/virtualMachines", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (select != null) + { + uri.AppendQuery("$select", select, true); + } + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string virtualMachineScaleSetName, string filter, string select, string expand) { var message = _pipeline.CreateMessage(); @@ -711,6 +858,27 @@ public Response List(string subscriptionId, } } + internal RequestUriBuilder CreatePowerOffRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, bool? skipShutdown) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/poweroff", false); + if (skipShutdown != null) + { + uri.AppendQuery("skipShutdown", skipShutdown.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePowerOffRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, bool? skipShutdown) { var message = _pipeline.CreateMessage(); @@ -793,6 +961,23 @@ public Response PowerOff(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateRestartRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/restart", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRestartRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -869,6 +1054,23 @@ public Response Restart(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateStartRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/start", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateStartRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -945,6 +1147,23 @@ public Response Start(string subscriptionId, string resourceGroupName, string vm } } + internal RequestUriBuilder CreateRedeployRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/redeploy", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRedeployRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -1021,6 +1240,27 @@ public Response Redeploy(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateRetrieveBootDiagnosticsDataRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, int? sasUriExpirationTimeInMinutes) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/retrieveBootDiagnosticsData", false); + if (sasUriExpirationTimeInMinutes != null) + { + uri.AppendQuery("sasUriExpirationTimeInMinutes", sasUriExpirationTimeInMinutes.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRetrieveBootDiagnosticsDataRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, int? sasUriExpirationTimeInMinutes) { var message = _pipeline.CreateMessage(); @@ -1112,6 +1352,23 @@ public Response RetrieveBootDiagnosticsData(s } } + internal RequestUriBuilder CreatePerformMaintenanceRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/performMaintenance", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePerformMaintenanceRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -1188,6 +1445,23 @@ public Response PerformMaintenance(string subscriptionId, string resourceGroupNa } } + internal RequestUriBuilder CreateSimulateEvictionRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualMachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/simulateEviction", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateSimulateEvictionRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -1262,6 +1536,14 @@ public Response SimulateEviction(string subscriptionId, string resourceGroupName } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string virtualMachineScaleSetName, string filter, string select, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string virtualMachineScaleSetName, string filter, string select, string expand) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetsRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetsRestOperations.cs index 092cf79898c..852f3f9fed5 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetsRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineScaleSetsRestOperations.cs @@ -37,6 +37,20 @@ public VirtualMachineScaleSetsRestOperations(HttpPipeline pipeline, string appli _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetData data) { var message = _pipeline.CreateMessage(); @@ -115,6 +129,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetPatch patch) { var message = _pipeline.CreateMessage(); @@ -191,6 +219,20 @@ public Response Update(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -262,6 +304,20 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -344,6 +400,21 @@ public Response Get(string subscriptionId, string re } } + internal RequestUriBuilder CreateDeallocateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/deallocate", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeallocateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -423,6 +494,21 @@ public Response Deallocate(string subscriptionId, string resourceGroupName, stri } } + internal RequestUriBuilder CreateDeleteInstancesRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceRequiredIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/delete", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteInstancesRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceRequiredIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -501,6 +587,21 @@ public Response DeleteInstances(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateGetInstanceViewRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/instanceView", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetInstanceViewRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -580,6 +681,19 @@ public Response GetInstanceView(string subsc } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -653,6 +767,17 @@ public Response List(string subscriptionId, st } } + internal RequestUriBuilder CreateListAllRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListAllRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -720,6 +845,21 @@ public Response ListAll(string subscri } } + internal RequestUriBuilder CreateListSkusRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/skus", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListSkusRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -799,6 +939,21 @@ public Response ListSkus(string subscripti } } + internal RequestUriBuilder CreateGetOSUpgradeHistoryRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/osUpgradeHistory", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetOSUpgradeHistoryRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -878,6 +1033,25 @@ public Response GetOSUpgradeHistory( } } + internal RequestUriBuilder CreatePowerOffRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds, bool? skipShutdown) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/poweroff", false); + if (skipShutdown != null) + { + uri.AppendQuery("skipShutdown", skipShutdown.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePowerOffRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds, bool? skipShutdown) { var message = _pipeline.CreateMessage(); @@ -963,6 +1137,21 @@ public Response PowerOff(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateRestartRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/restart", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRestartRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -1042,6 +1231,21 @@ public Response Restart(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateStartRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/start", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateStartRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -1121,6 +1325,21 @@ public Response Start(string subscriptionId, string resourceGroupName, string vm } } + internal RequestUriBuilder CreateRedeployRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/redeploy", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRedeployRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -1200,6 +1419,21 @@ public Response Redeploy(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreatePerformMaintenanceRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/performMaintenance", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePerformMaintenanceRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -1279,6 +1513,21 @@ public Response PerformMaintenance(string subscriptionId, string resourceGroupNa } } + internal RequestUriBuilder CreateUpdateInstancesRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceRequiredIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/manualupgrade", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateInstancesRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceRequiredIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -1357,6 +1606,21 @@ public Response UpdateInstances(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateReimageRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetReimageContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/reimage", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateReimageRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetReimageContent content) { var message = _pipeline.CreateMessage(); @@ -1436,6 +1700,21 @@ public Response Reimage(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateReimageAllRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/reimageall", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateReimageAllRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -1515,6 +1794,22 @@ public Response ReimageAll(string subscriptionId, string resourceGroupName, stri } } + internal RequestUriBuilder CreateForceRecoveryServiceFabricPlatformUpdateDomainWalkRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, int platformUpdateDomain) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/forceRecoveryServiceFabricPlatformUpdateDomainWalk", false); + uri.AppendQuery("api-version", _apiVersion, true); + uri.AppendQuery("platformUpdateDomain", platformUpdateDomain, true); + return uri; + } + internal HttpMessage CreateForceRecoveryServiceFabricPlatformUpdateDomainWalkRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, int platformUpdateDomain) { var message = _pipeline.CreateMessage(); @@ -1597,6 +1892,21 @@ public Response ForceRecoveryServiceFabricPlatformUpdateDo } } + internal RequestUriBuilder CreateConvertToSinglePlacementGroupRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VmScaleSetConvertToSinglePlacementGroupContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/convertToSinglePlacementGroup", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateConvertToSinglePlacementGroupRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VmScaleSetConvertToSinglePlacementGroupContent content) { var message = _pipeline.CreateMessage(); @@ -1673,6 +1983,21 @@ public Response ConvertToSinglePlacementGroup(string subscriptionId, string reso } } + internal RequestUriBuilder CreateSetOrchestrationServiceStateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, OrchestrationServiceStateContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/setOrchestrationServiceState", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateSetOrchestrationServiceStateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, OrchestrationServiceStateContent content) { var message = _pipeline.CreateMessage(); @@ -1751,6 +2076,14 @@ public Response SetOrchestrationServiceState(string subscriptionId, string resou } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -1823,6 +2156,14 @@ public Response ListNextPage(string nextLink, } } + internal RequestUriBuilder CreateListAllNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListAllNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -1891,6 +2232,14 @@ public Response ListAllNextPage(string } } + internal RequestUriBuilder CreateListSkusNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListSkusNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -1967,6 +2316,14 @@ public Response ListSkusNextPage(string ne } } + internal RequestUriBuilder CreateGetOSUpgradeHistoryNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateGetOSUpgradeHistoryNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineSizesRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineSizesRestOperations.cs index 60b82c84359..bda8d35201b 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineSizesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachineSizesRestOperations.cs @@ -37,6 +37,19 @@ public VirtualMachineSizesRestOperations(HttpPipeline pipeline, string applicati _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, AzureLocation location) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/vmSizes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, AzureLocation location) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachinesRestOperations.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachinesRestOperations.cs index 3882d1168bb..26b5cb28278 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachinesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/RestOperations/VirtualMachinesRestOperations.cs @@ -37,6 +37,19 @@ public VirtualMachinesRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListByLocationRequestUri(string subscriptionId, AzureLocation location) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/virtualMachines", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByLocationRequest(string subscriptionId, AzureLocation location) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,21 @@ public Response ListByLocation(string subscriptionId, } } + internal RequestUriBuilder CreateCaptureRequestUri(string subscriptionId, string resourceGroupName, string vmName, VirtualMachineCaptureContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/capture", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCaptureRequest(string subscriptionId, string resourceGroupName, string vmName, VirtualMachineCaptureContent content) { var message = _pipeline.CreateMessage(); @@ -187,6 +215,20 @@ public Response Capture(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmName, VirtualMachineData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vmName, VirtualMachineData data) { var message = _pipeline.CreateMessage(); @@ -265,6 +307,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmName, VirtualMachinePatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string vmName, VirtualMachinePatch patch) { var message = _pipeline.CreateMessage(); @@ -343,6 +399,24 @@ public Response Update(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmName, bool? forceDeletion) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + if (forceDeletion != null) + { + uri.AppendQuery("forceDeletion", forceDeletion.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmName, bool? forceDeletion) { var message = _pipeline.CreateMessage(); @@ -420,6 +494,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmName, InstanceViewType? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmName, InstanceViewType? expand) { var message = _pipeline.CreateMessage(); @@ -508,6 +600,21 @@ public Response Get(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateInstanceViewRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/instanceView", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateInstanceViewRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -587,6 +694,21 @@ public Response InstanceView(string subscriptionId, } } + internal RequestUriBuilder CreateConvertToManagedDisksRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/convertToManagedDisks", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateConvertToManagedDisksRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -657,6 +779,21 @@ public Response ConvertToManagedDisks(string subscriptionId, string resourceGrou } } + internal RequestUriBuilder CreateDeallocateRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/deallocate", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeallocateRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -727,6 +864,21 @@ public Response Deallocate(string subscriptionId, string resourceGroupName, stri } } + internal RequestUriBuilder CreateGeneralizeRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/generalize", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGeneralizeRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -795,6 +947,19 @@ public Response Generalize(string subscriptionId, string resourceGroupName, stri } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -868,6 +1033,21 @@ public Response List(string subscriptionId, string res } } + internal RequestUriBuilder CreateListAllRequestUri(string subscriptionId, string statusOnly) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (statusOnly != null) + { + uri.AppendQuery("statusOnly", statusOnly, true); + } + return uri; + } + internal HttpMessage CreateListAllRequest(string subscriptionId, string statusOnly) { var message = _pipeline.CreateMessage(); @@ -941,6 +1121,21 @@ public Response ListAll(string subscriptionId, string } } + internal RequestUriBuilder CreateListAvailableSizesRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/vmSizes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListAvailableSizesRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -1020,6 +1215,25 @@ public Response ListAvailableSizes(string subscrip } } + internal RequestUriBuilder CreatePowerOffRequestUri(string subscriptionId, string resourceGroupName, string vmName, bool? skipShutdown) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/powerOff", false); + if (skipShutdown != null) + { + uri.AppendQuery("skipShutdown", skipShutdown.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePowerOffRequest(string subscriptionId, string resourceGroupName, string vmName, bool? skipShutdown) { var message = _pipeline.CreateMessage(); @@ -1096,6 +1310,21 @@ public Response PowerOff(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateReapplyRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/reapply", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateReapplyRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -1167,6 +1396,21 @@ public Response Reapply(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateRestartRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/restart", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRestartRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -1237,6 +1481,21 @@ public Response Restart(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateStartRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/start", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateStartRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -1307,6 +1566,21 @@ public Response Start(string subscriptionId, string resourceGroupName, string vm } } + internal RequestUriBuilder CreateRedeployRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/redeploy", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRedeployRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -1377,6 +1651,21 @@ public Response Redeploy(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateReimageRequestUri(string subscriptionId, string resourceGroupName, string vmName, VirtualMachineReimageContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/reimage", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateReimageRequest(string subscriptionId, string resourceGroupName, string vmName, VirtualMachineReimageContent content) { var message = _pipeline.CreateMessage(); @@ -1456,6 +1745,25 @@ public Response Reimage(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateRetrieveBootDiagnosticsDataRequestUri(string subscriptionId, string resourceGroupName, string vmName, int? sasUriExpirationTimeInMinutes) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/retrieveBootDiagnosticsData", false); + if (sasUriExpirationTimeInMinutes != null) + { + uri.AppendQuery("sasUriExpirationTimeInMinutes", sasUriExpirationTimeInMinutes.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRetrieveBootDiagnosticsDataRequest(string subscriptionId, string resourceGroupName, string vmName, int? sasUriExpirationTimeInMinutes) { var message = _pipeline.CreateMessage(); @@ -1541,6 +1849,21 @@ public Response RetrieveBootDiagnosticsData(s } } + internal RequestUriBuilder CreatePerformMaintenanceRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/performMaintenance", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePerformMaintenanceRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -1611,6 +1934,21 @@ public Response PerformMaintenance(string subscriptionId, string resourceGroupNa } } + internal RequestUriBuilder CreateSimulateEvictionRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/simulateEviction", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateSimulateEvictionRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -1679,6 +2017,21 @@ public Response SimulateEviction(string subscriptionId, string resourceGroupName } } + internal RequestUriBuilder CreateAssessPatchesRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/assessPatches", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateAssessPatchesRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -1750,6 +2103,14 @@ public Response AssessPatches(string subscriptionId, string resourceGroupName, s } } + internal RequestUriBuilder CreateListByLocationNextPageRequestUri(string nextLink, string subscriptionId, AzureLocation location) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByLocationNextPageRequest(string nextLink, string subscriptionId, AzureLocation location) { var message = _pipeline.CreateMessage(); @@ -1820,6 +2181,14 @@ public Response ListByLocationNextPage(string nextLink } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -1892,6 +2261,14 @@ public Response ListNextPage(string nextLink, string s } } + internal RequestUriBuilder CreateListAllNextPageRequestUri(string nextLink, string subscriptionId, string statusOnly) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListAllNextPageRequest(string nextLink, string subscriptionId, string statusOnly) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/SshPublicKeyCollection.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/SshPublicKeyCollection.cs index 132c583d77c..f9342d7ba50 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/SshPublicKeyCollection.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/SshPublicKeyCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateAsyn try { var response = await _sshPublicKeyRestClient.CreateAsync(Id.SubscriptionId, Id.ResourceGroupName, sshPublicKeyName, data, cancellationToken).ConfigureAwait(false); - var operation = new SampleArmOperation(Response.FromValue(new SshPublicKeyResource(Client, response), response.GetRawResponse())); + var uri = _sshPublicKeyRestClient.CreateCreateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, sshPublicKeyName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(Response.FromValue(new SshPublicKeyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitU try { var response = _sshPublicKeyRestClient.Create(Id.SubscriptionId, Id.ResourceGroupName, sshPublicKeyName, data, cancellationToken); - var operation = new SampleArmOperation(Response.FromValue(new SshPublicKeyResource(Client, response), response.GetRawResponse())); + var uri = _sshPublicKeyRestClient.CreateCreateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, sshPublicKeyName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(Response.FromValue(new SshPublicKeyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/SshPublicKeyResource.Serialization.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/SshPublicKeyResource.Serialization.cs new file mode 100644 index 00000000000..edb0793fec1 --- /dev/null +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/SshPublicKeyResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace AzureSample.ResourceManager.Sample +{ + public partial class SshPublicKeyResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + SshPublicKeyData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + SshPublicKeyData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/SshPublicKeyResource.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/SshPublicKeyResource.cs index 0ebce4c809e..d04e016bca6 100644 --- a/samples/AzureSample.ResourceManager.Sample/src/Generated/SshPublicKeyResource.cs +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/SshPublicKeyResource.cs @@ -202,7 +202,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _sshPublicKeyRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new SampleArmOperation(response); + var uri = _sshPublicKeyRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -244,7 +246,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _sshPublicKeyRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new SampleArmOperation(response); + var uri = _sshPublicKeyRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new SampleArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineExtensionImageResource.Serialization.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineExtensionImageResource.Serialization.cs new file mode 100644 index 00000000000..4cce4b87e38 --- /dev/null +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineExtensionImageResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace AzureSample.ResourceManager.Sample +{ + public partial class VirtualMachineExtensionImageResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + VirtualMachineExtensionImageData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + VirtualMachineExtensionImageData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineExtensionResource.Serialization.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineExtensionResource.Serialization.cs new file mode 100644 index 00000000000..f13bb2810be --- /dev/null +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineExtensionResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace AzureSample.ResourceManager.Sample +{ + public partial class VirtualMachineExtensionResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + VirtualMachineExtensionData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + VirtualMachineExtensionData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineResource.Serialization.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineResource.Serialization.cs new file mode 100644 index 00000000000..5f9283762b4 --- /dev/null +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace AzureSample.ResourceManager.Sample +{ + public partial class VirtualMachineResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + VirtualMachineData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + VirtualMachineData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetExtensionResource.Serialization.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetExtensionResource.Serialization.cs new file mode 100644 index 00000000000..c847e2f60ae --- /dev/null +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetExtensionResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace AzureSample.ResourceManager.Sample +{ + public partial class VirtualMachineScaleSetExtensionResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + VirtualMachineScaleSetExtensionData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + VirtualMachineScaleSetExtensionData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetResource.Serialization.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetResource.Serialization.cs new file mode 100644 index 00000000000..e59165f0c7a --- /dev/null +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace AzureSample.ResourceManager.Sample +{ + public partial class VirtualMachineScaleSetResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + VirtualMachineScaleSetData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + VirtualMachineScaleSetData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetRollingUpgradeResource.Serialization.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetRollingUpgradeResource.Serialization.cs new file mode 100644 index 00000000000..c6f9334c3e4 --- /dev/null +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetRollingUpgradeResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace AzureSample.ResourceManager.Sample +{ + public partial class VirtualMachineScaleSetRollingUpgradeResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + VirtualMachineScaleSetRollingUpgradeData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + VirtualMachineScaleSetRollingUpgradeData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetVirtualMachineExtensionResource.Serialization.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetVirtualMachineExtensionResource.Serialization.cs new file mode 100644 index 00000000000..8d93e8b7453 --- /dev/null +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetVirtualMachineExtensionResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace AzureSample.ResourceManager.Sample +{ + public partial class VirtualMachineScaleSetVirtualMachineExtensionResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + VirtualMachineExtensionData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + VirtualMachineExtensionData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetVmResource.Serialization.cs b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetVmResource.Serialization.cs new file mode 100644 index 00000000000..de8957d5821 --- /dev/null +++ b/samples/AzureSample.ResourceManager.Sample/src/Generated/VirtualMachineScaleSetVmResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace AzureSample.ResourceManager.Sample +{ + public partial class VirtualMachineScaleSetVmResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + VirtualMachineScaleSetVmData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + VirtualMachineScaleSetVmData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/AzureSampleResourceManagerStoragePrivateEndpointConnectionCollection.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/AzureSampleResourceManagerStoragePrivateEndpointConnectionCollection.cs index ecc94593fd8..63690172c79 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/AzureSampleResourceManagerStoragePrivateEndpointConnectionCollection.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/AzureSampleResourceManagerStoragePrivateEndpointConnectionCollection.cs @@ -90,7 +90,9 @@ public virtual async Task(Response.FromValue(new AzureSampleResourceManagerStoragePrivateEndpointConnectionResource(Client, response), response.GetRawResponse())); + var uri = _azureSampleResourceManagerStoragePrivateEndpointConnectionPrivateEndpointConnectionsRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, privateEndpointConnectionName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new AzureSampleResourceManagerStoragePrivateEndpointConnectionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation(Response.FromValue(new AzureSampleResourceManagerStoragePrivateEndpointConnectionResource(Client, response), response.GetRawResponse())); + var uri = _azureSampleResourceManagerStoragePrivateEndpointConnectionPrivateEndpointConnectionsRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, privateEndpointConnectionName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new AzureSampleResourceManagerStoragePrivateEndpointConnectionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/AzureSampleResourceManagerStoragePrivateEndpointConnectionResource.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/AzureSampleResourceManagerStoragePrivateEndpointConnectionResource.cs index e18da5359be..add33911be8 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/AzureSampleResourceManagerStoragePrivateEndpointConnectionResource.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/AzureSampleResourceManagerStoragePrivateEndpointConnectionResource.cs @@ -200,7 +200,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _azureSampleResourceManagerStoragePrivateEndpointConnectionPrivateEndpointConnectionsRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(response); + var uri = _azureSampleResourceManagerStoragePrivateEndpointConnectionPrivateEndpointConnectionsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -242,7 +244,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _azureSampleResourceManagerStoragePrivateEndpointConnectionPrivateEndpointConnectionsRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken); - var operation = new StorageArmOperation(response); + var uri = _azureSampleResourceManagerStoragePrivateEndpointConnectionPrivateEndpointConnectionsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; @@ -288,7 +292,9 @@ public virtual async Task(Response.FromValue(new AzureSampleResourceManagerStoragePrivateEndpointConnectionResource(Client, response), response.GetRawResponse())); + var uri = _azureSampleResourceManagerStoragePrivateEndpointConnectionPrivateEndpointConnectionsRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new AzureSampleResourceManagerStoragePrivateEndpointConnectionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -334,7 +340,9 @@ public virtual ArmOperation(Response.FromValue(new AzureSampleResourceManagerStoragePrivateEndpointConnectionResource(Client, response), response.GetRawResponse())); + var uri = _azureSampleResourceManagerStoragePrivateEndpointConnectionPrivateEndpointConnectionsRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new AzureSampleResourceManagerStoragePrivateEndpointConnectionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobContainerCollection.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobContainerCollection.cs index a5ab6a90af8..e4141f8e8fb 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobContainerCollection.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobContainerCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateAsy try { var response = await _blobContainerRestClient.CreateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, containerName, data, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(Response.FromValue(new BlobContainerResource(Client, response), response.GetRawResponse())); + var uri = _blobContainerRestClient.CreateCreateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, containerName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new BlobContainerResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wait try { var response = _blobContainerRestClient.Create(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, containerName, data, cancellationToken); - var operation = new StorageArmOperation(Response.FromValue(new BlobContainerResource(Client, response), response.GetRawResponse())); + var uri = _blobContainerRestClient.CreateCreateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, containerName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new BlobContainerResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobContainerResource.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobContainerResource.cs index 20873bcefdd..97ab6d36c2a 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobContainerResource.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobContainerResource.cs @@ -208,7 +208,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _blobContainerRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(response); + var uri = _blobContainerRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -250,7 +252,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _blobContainerRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Name, cancellationToken); - var operation = new StorageArmOperation(response); + var uri = _blobContainerRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobInventoryPolicyCollection.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobInventoryPolicyCollection.cs index 9305717fc31..c8d088d2ba6 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobInventoryPolicyCollection.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobInventoryPolicyCollection.cs @@ -89,7 +89,9 @@ public virtual async Task> CreateOrUpd try { var response = await _blobInventoryPolicyRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, blobInventoryPolicyName, data, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(Response.FromValue(new BlobInventoryPolicyResource(Client, response), response.GetRawResponse())); + var uri = _blobInventoryPolicyRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, blobInventoryPolicyName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new BlobInventoryPolicyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -136,7 +138,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUnti try { var response = _blobInventoryPolicyRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, blobInventoryPolicyName, data, cancellationToken); - var operation = new StorageArmOperation(Response.FromValue(new BlobInventoryPolicyResource(Client, response), response.GetRawResponse())); + var uri = _blobInventoryPolicyRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, blobInventoryPolicyName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new BlobInventoryPolicyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobInventoryPolicyResource.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobInventoryPolicyResource.cs index 6a49630a735..e678b70000a 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobInventoryPolicyResource.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobInventoryPolicyResource.cs @@ -201,7 +201,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _blobInventoryPolicyRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(response); + var uri = _blobInventoryPolicyRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -243,7 +245,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _blobInventoryPolicyRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken); - var operation = new StorageArmOperation(response); + var uri = _blobInventoryPolicyRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; @@ -289,7 +293,9 @@ public virtual async Task> UpdateAsync try { var response = await _blobInventoryPolicyRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(Response.FromValue(new BlobInventoryPolicyResource(Client, response), response.GetRawResponse())); + var uri = _blobInventoryPolicyRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new BlobInventoryPolicyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -335,7 +341,9 @@ public virtual ArmOperation Update(WaitUntil waitUn try { var response = _blobInventoryPolicyRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new StorageArmOperation(Response.FromValue(new BlobInventoryPolicyResource(Client, response), response.GetRawResponse())); + var uri = _blobInventoryPolicyRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new BlobInventoryPolicyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobServiceResource.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobServiceResource.cs index 944272a16c0..59e7e62bbdf 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobServiceResource.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/BlobServiceResource.cs @@ -272,7 +272,9 @@ public virtual async Task> CreateOrUpdateAsync try { var response = await _blobServiceRestClient.SetServicePropertiesAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(Response.FromValue(new BlobServiceResource(Client, response), response.GetRawResponse())); + var uri = _blobServiceRestClient.CreateSetServicePropertiesRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new BlobServiceResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -318,7 +320,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUn try { var response = _blobServiceRestClient.SetServiceProperties(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, data, cancellationToken); - var operation = new StorageArmOperation(Response.FromValue(new BlobServiceResource(Client, response), response.GetRawResponse())); + var uri = _blobServiceRestClient.CreateSetServicePropertiesRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new BlobServiceResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/EncryptionScopeCollection.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/EncryptionScopeCollection.cs index d4b5f6066ce..b25fc248c98 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/EncryptionScopeCollection.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/EncryptionScopeCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateA try { var response = await _encryptionScopeRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, encryptionScopeName, data, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(Response.FromValue(new EncryptionScopeResource(Client, response), response.GetRawResponse())); + var uri = _encryptionScopeRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, encryptionScopeName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new EncryptionScopeResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wa try { var response = _encryptionScopeRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, encryptionScopeName, data, cancellationToken); - var operation = new StorageArmOperation(Response.FromValue(new EncryptionScopeResource(Client, response), response.GetRawResponse())); + var uri = _encryptionScopeRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, encryptionScopeName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new EncryptionScopeResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/FileServiceResource.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/FileServiceResource.cs index 2d1cf7b1bd5..34e05e7ca4b 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/FileServiceResource.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/FileServiceResource.cs @@ -276,7 +276,9 @@ public virtual async Task> CreateOrUpdateAsync try { var response = await _fileServiceRestClient.SetServicePropertiesAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(Response.FromValue(new FileServiceResource(Client, response), response.GetRawResponse())); + var uri = _fileServiceRestClient.CreateSetServicePropertiesRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new FileServiceResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -322,7 +324,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUn try { var response = _fileServiceRestClient.SetServiceProperties(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, data, cancellationToken); - var operation = new StorageArmOperation(Response.FromValue(new FileServiceResource(Client, response), response.GetRawResponse())); + var uri = _fileServiceRestClient.CreateSetServicePropertiesRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new FileServiceResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/FileShareCollection.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/FileShareCollection.cs index ae8bbda2c5f..5e504e101ff 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/FileShareCollection.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/FileShareCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateAsync(W try { var response = await _fileShareRestClient.CreateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, shareName, data, expand, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(Response.FromValue(new FileShareResource(Client, response), response.GetRawResponse())); + var uri = _fileShareRestClient.CreateCreateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, shareName, data, expand); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new FileShareResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -141,7 +143,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUnti try { var response = _fileShareRestClient.Create(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, shareName, data, expand, cancellationToken); - var operation = new StorageArmOperation(Response.FromValue(new FileShareResource(Client, response), response.GetRawResponse())); + var uri = _fileShareRestClient.CreateCreateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, shareName, data, expand); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new FileShareResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/FileShareResource.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/FileShareResource.cs index c715aba76a9..2c6659524ad 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/FileShareResource.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/FileShareResource.cs @@ -207,7 +207,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, string try { var response = await _fileShareRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Name, xMsSnapshot, include, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(response); + var uri = _fileShareRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Name, xMsSnapshot, include); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -251,7 +253,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, string xMsSnapshot = nul try { var response = _fileShareRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Name, xMsSnapshot, include, cancellationToken); - var operation = new StorageArmOperation(response); + var uri = _fileShareRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Name, xMsSnapshot, include); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/ImmutabilityPolicyResource.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/ImmutabilityPolicyResource.cs index a5d9d3bade6..c89960923d0 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/ImmutabilityPolicyResource.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/ImmutabilityPolicyResource.cs @@ -206,7 +206,9 @@ public virtual async Task> DeleteAsync( try { var response = await _immutabilityPolicyBlobContainersRestClient.DeleteImmutabilityPolicyAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Parent.Name, Id.Parent.Name, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(Response.FromValue(new ImmutabilityPolicyResource(Client, response), response.GetRawResponse())); + var uri = _immutabilityPolicyBlobContainersRestClient.CreateDeleteImmutabilityPolicyRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Parent.Name, Id.Parent.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new ImmutabilityPolicyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -252,7 +254,9 @@ public virtual ArmOperation Delete(WaitUntil waitUnt try { var response = _immutabilityPolicyBlobContainersRestClient.DeleteImmutabilityPolicy(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Parent.Name, Id.Parent.Name, ifMatch, cancellationToken); - var operation = new StorageArmOperation(Response.FromValue(new ImmutabilityPolicyResource(Client, response), response.GetRawResponse())); + var uri = _immutabilityPolicyBlobContainersRestClient.CreateDeleteImmutabilityPolicyRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Parent.Name, Id.Parent.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new ImmutabilityPolicyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; @@ -299,7 +303,9 @@ public virtual async Task> CreateOrUpda try { var response = await _immutabilityPolicyBlobContainersRestClient.CreateOrUpdateImmutabilityPolicyAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Parent.Name, Id.Parent.Name, data, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(Response.FromValue(new ImmutabilityPolicyResource(Client, response), response.GetRawResponse())); + var uri = _immutabilityPolicyBlobContainersRestClient.CreateCreateOrUpdateImmutabilityPolicyRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Parent.Name, Id.Parent.Name, data, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new ImmutabilityPolicyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -346,7 +352,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil try { var response = _immutabilityPolicyBlobContainersRestClient.CreateOrUpdateImmutabilityPolicy(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Parent.Name, Id.Parent.Name, data, ifMatch, cancellationToken); - var operation = new StorageArmOperation(Response.FromValue(new ImmutabilityPolicyResource(Client, response), response.GetRawResponse())); + var uri = _immutabilityPolicyBlobContainersRestClient.CreateCreateOrUpdateImmutabilityPolicyRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Parent.Name, Id.Parent.Name, data, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new ImmutabilityPolicyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/LongRunningOperation/StorageArmOperation.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/LongRunningOperation/StorageArmOperation.cs index ae650eb3475..b6836db8699 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/LongRunningOperation/StorageArmOperation.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/LongRunningOperation/StorageArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class StorageArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of StorageArmOperation for mocking. protected StorageArmOperation() { } - internal StorageArmOperation(Response response) + internal StorageArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal StorageArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "StorageArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/LongRunningOperation/StorageArmOperationOfT.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/LongRunningOperation/StorageArmOperationOfT.cs index 4cc351391d1..249b5bc3c86 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/LongRunningOperation/StorageArmOperationOfT.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/LongRunningOperation/StorageArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class StorageArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of StorageArmOperation for mocking. protected StorageArmOperation() { } - internal StorageArmOperation(Response response) + internal StorageArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal StorageArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "StorageArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "StorageArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/ManagementPolicyResource.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/ManagementPolicyResource.cs index 6773a0a55f4..51fa72f80c9 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/ManagementPolicyResource.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/ManagementPolicyResource.cs @@ -201,7 +201,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _managementPolicyRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(response); + var uri = _managementPolicyRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -243,7 +245,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _managementPolicyRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken); - var operation = new StorageArmOperation(response); + var uri = _managementPolicyRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; @@ -289,7 +293,9 @@ public virtual async Task> CreateOrUpdate try { var response = await _managementPolicyRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(Response.FromValue(new ManagementPolicyResource(Client, response), response.GetRawResponse())); + var uri = _managementPolicyRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new ManagementPolicyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -335,7 +341,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil w try { var response = _managementPolicyRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new StorageArmOperation(Response.FromValue(new ManagementPolicyResource(Client, response), response.GetRawResponse())); + var uri = _managementPolicyRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new ManagementPolicyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/ObjectReplicationPolicyCollection.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/ObjectReplicationPolicyCollection.cs index ba1cef29e42..4366e38375a 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/ObjectReplicationPolicyCollection.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/ObjectReplicationPolicyCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateO try { var response = await _objectReplicationPolicyRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, objectReplicationPolicyId, data, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(Response.FromValue(new ObjectReplicationPolicyResource(Client, response), response.GetRawResponse())); + var uri = _objectReplicationPolicyRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, objectReplicationPolicyId, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new ObjectReplicationPolicyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdate(Wait try { var response = _objectReplicationPolicyRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, objectReplicationPolicyId, data, cancellationToken); - var operation = new StorageArmOperation(Response.FromValue(new ObjectReplicationPolicyResource(Client, response), response.GetRawResponse())); + var uri = _objectReplicationPolicyRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, objectReplicationPolicyId, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new ObjectReplicationPolicyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/ObjectReplicationPolicyResource.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/ObjectReplicationPolicyResource.cs index 343d88f31b9..221d61b0bf2 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/ObjectReplicationPolicyResource.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/ObjectReplicationPolicyResource.cs @@ -200,7 +200,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _objectReplicationPolicyRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(response); + var uri = _objectReplicationPolicyRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -242,7 +244,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _objectReplicationPolicyRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken); - var operation = new StorageArmOperation(response); + var uri = _objectReplicationPolicyRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; @@ -288,7 +292,9 @@ public virtual async Task> UpdateA try { var response = await _objectReplicationPolicyRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(Response.FromValue(new ObjectReplicationPolicyResource(Client, response), response.GetRawResponse())); + var uri = _objectReplicationPolicyRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new ObjectReplicationPolicyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -334,7 +340,9 @@ public virtual ArmOperation Update(WaitUntil wa try { var response = _objectReplicationPolicyRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new StorageArmOperation(Response.FromValue(new ObjectReplicationPolicyResource(Client, response), response.GetRawResponse())); + var uri = _objectReplicationPolicyRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(Response.FromValue(new ObjectReplicationPolicyResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/BlobContainersRestOperations.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/BlobContainersRestOperations.cs index fb40ac31e43..cc477d2c04c 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/BlobContainersRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/BlobContainersRestOperations.cs @@ -37,6 +37,33 @@ public BlobContainersRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string accountName, int? maxpagesize, string filter, ListContainersInclude? include) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/default/containers", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (maxpagesize != null) + { + uri.AppendQuery("$maxpagesize", maxpagesize.Value, true); + } + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (include != null) + { + uri.AppendQuery("$include", include.Value.ToString(), true); + } + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string accountName, int? maxpagesize, string filter, ListContainersInclude? include) { var message = _pipeline.CreateMessage(); @@ -134,6 +161,22 @@ public Response List(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreateCreateRequestUri(string subscriptionId, string resourceGroupName, string accountName, string containerName, BlobContainerData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/default/containers/", false); + uri.AppendPath(containerName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateRequest(string subscriptionId, string resourceGroupName, string accountName, string containerName, BlobContainerData data) { var message = _pipeline.CreateMessage(); @@ -228,6 +271,22 @@ public Response Create(string subscriptionId, string resource } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string accountName, string containerName, BlobContainerData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/default/containers/", false); + uri.AppendPath(containerName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string accountName, string containerName, BlobContainerData data) { var message = _pipeline.CreateMessage(); @@ -320,6 +379,22 @@ public Response Update(string subscriptionId, string resource } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string accountName, string containerName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/default/containers/", false); + uri.AppendPath(containerName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string accountName, string containerName) { var message = _pipeline.CreateMessage(); @@ -408,6 +483,22 @@ public Response Get(string subscriptionId, string resourceGro } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string accountName, string containerName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/default/containers/", false); + uri.AppendPath(containerName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string accountName, string containerName) { var message = _pipeline.CreateMessage(); @@ -483,6 +574,23 @@ public Response Delete(string subscriptionId, string resourceGroupName, string a } } + internal RequestUriBuilder CreateSetLegalHoldRequestUri(string subscriptionId, string resourceGroupName, string accountName, string containerName, LegalHold legalHold) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/default/containers/", false); + uri.AppendPath(containerName, true); + uri.AppendPath("/setLegalHold", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateSetLegalHoldRequest(string subscriptionId, string resourceGroupName, string accountName, string containerName, LegalHold legalHold) { var message = _pipeline.CreateMessage(); @@ -576,6 +684,23 @@ public Response SetLegalHold(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateClearLegalHoldRequestUri(string subscriptionId, string resourceGroupName, string accountName, string containerName, LegalHold legalHold) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/default/containers/", false); + uri.AppendPath(containerName, true); + uri.AppendPath("/clearLegalHold", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateClearLegalHoldRequest(string subscriptionId, string resourceGroupName, string accountName, string containerName, LegalHold legalHold) { var message = _pipeline.CreateMessage(); @@ -669,6 +794,24 @@ public Response ClearLegalHold(string subscriptionId, string resource } } + internal RequestUriBuilder CreateCreateOrUpdateImmutabilityPolicyRequestUri(string subscriptionId, string resourceGroupName, string accountName, string containerName, ImmutabilityPolicyData data, string ifMatch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/default/containers/", false); + uri.AppendPath(containerName, true); + uri.AppendPath("/immutabilityPolicies/", false); + uri.AppendPath("default", true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateImmutabilityPolicyRequest(string subscriptionId, string resourceGroupName, string accountName, string containerName, ImmutabilityPolicyData data, string ifMatch) { var message = _pipeline.CreateMessage(); @@ -769,6 +912,24 @@ public Response CreateOrUpdateImmutabilityPolicy(string } } + internal RequestUriBuilder CreateGetImmutabilityPolicyRequestUri(string subscriptionId, string resourceGroupName, string accountName, string containerName, string ifMatch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/default/containers/", false); + uri.AppendPath(containerName, true); + uri.AppendPath("/immutabilityPolicies/", false); + uri.AppendPath("default", true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetImmutabilityPolicyRequest(string subscriptionId, string resourceGroupName, string accountName, string containerName, string ifMatch) { var message = _pipeline.CreateMessage(); @@ -865,6 +1026,24 @@ public Response GetImmutabilityPolicy(string subscriptio } } + internal RequestUriBuilder CreateDeleteImmutabilityPolicyRequestUri(string subscriptionId, string resourceGroupName, string accountName, string containerName, string ifMatch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/default/containers/", false); + uri.AppendPath(containerName, true); + uri.AppendPath("/immutabilityPolicies/", false); + uri.AppendPath("default", true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteImmutabilityPolicyRequest(string subscriptionId, string resourceGroupName, string accountName, string containerName, string ifMatch) { var message = _pipeline.CreateMessage(); @@ -956,6 +1135,23 @@ public Response DeleteImmutabilityPolicy(string subscrip } } + internal RequestUriBuilder CreateLockImmutabilityPolicyRequestUri(string subscriptionId, string resourceGroupName, string accountName, string containerName, string ifMatch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/default/containers/", false); + uri.AppendPath(containerName, true); + uri.AppendPath("/immutabilityPolicies/default/lock", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateLockImmutabilityPolicyRequest(string subscriptionId, string resourceGroupName, string accountName, string containerName, string ifMatch) { var message = _pipeline.CreateMessage(); @@ -1046,6 +1242,23 @@ public Response LockImmutabilityPolicy(string subscripti } } + internal RequestUriBuilder CreateExtendImmutabilityPolicyRequestUri(string subscriptionId, string resourceGroupName, string accountName, string containerName, string ifMatch, ImmutabilityPolicyData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/default/containers/", false); + uri.AppendPath(containerName, true); + uri.AppendPath("/immutabilityPolicies/default/extend", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateExtendImmutabilityPolicyRequest(string subscriptionId, string resourceGroupName, string accountName, string containerName, string ifMatch, ImmutabilityPolicyData data) { var message = _pipeline.CreateMessage(); @@ -1145,6 +1358,23 @@ public Response ExtendImmutabilityPolicy(string subscrip } } + internal RequestUriBuilder CreateLeaseRequestUri(string subscriptionId, string resourceGroupName, string accountName, string containerName, LeaseContainerContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/default/containers/", false); + uri.AppendPath(containerName, true); + uri.AppendPath("/lease", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateLeaseRequest(string subscriptionId, string resourceGroupName, string accountName, string containerName, LeaseContainerContent content) { var message = _pipeline.CreateMessage(); @@ -1239,6 +1469,23 @@ public Response Lease(string subscriptionId, string reso } } + internal RequestUriBuilder CreateObjectLevelWormRequestUri(string subscriptionId, string resourceGroupName, string accountName, string containerName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/default/containers/", false); + uri.AppendPath(containerName, true); + uri.AppendPath("/migrate", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateObjectLevelWormRequest(string subscriptionId, string resourceGroupName, string accountName, string containerName) { var message = _pipeline.CreateMessage(); @@ -1316,6 +1563,14 @@ public Response ObjectLevelWorm(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string accountName, int? maxpagesize, string filter, ListContainersInclude? include) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string accountName, int? maxpagesize, string filter, ListContainersInclude? include) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/BlobInventoryPoliciesRestOperations.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/BlobInventoryPoliciesRestOperations.cs index f8522270bac..be8a2998a15 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/BlobInventoryPoliciesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/BlobInventoryPoliciesRestOperations.cs @@ -37,6 +37,22 @@ public BlobInventoryPoliciesRestOperations(HttpPipeline pipeline, string applica _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string accountName, BlobInventoryPolicyName blobInventoryPolicyName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/inventoryPolicies/", false); + uri.AppendPath(blobInventoryPolicyName.ToString(), true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string accountName, BlobInventoryPolicyName blobInventoryPolicyName) { var message = _pipeline.CreateMessage(); @@ -123,6 +139,22 @@ public Response Get(string subscriptionId, string resou } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string accountName, BlobInventoryPolicyName blobInventoryPolicyName, BlobInventoryPolicyData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/inventoryPolicies/", false); + uri.AppendPath(blobInventoryPolicyName.ToString(), true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string accountName, BlobInventoryPolicyName blobInventoryPolicyName, BlobInventoryPolicyData data) { var message = _pipeline.CreateMessage(); @@ -213,6 +245,22 @@ public Response CreateOrUpdate(string subscriptionId, s } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string accountName, BlobInventoryPolicyName blobInventoryPolicyName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/inventoryPolicies/", false); + uri.AppendPath(blobInventoryPolicyName.ToString(), true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string accountName, BlobInventoryPolicyName blobInventoryPolicyName) { var message = _pipeline.CreateMessage(); @@ -287,6 +335,21 @@ public Response Delete(string subscriptionId, string resourceGroupName, string a } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string accountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/inventoryPolicies", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string accountName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/BlobServicesRestOperations.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/BlobServicesRestOperations.cs index daf72e9738d..7b7ae1c91d3 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/BlobServicesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/BlobServicesRestOperations.cs @@ -37,6 +37,21 @@ public BlobServicesRestOperations(HttpPipeline pipeline, string applicationId, U _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string accountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string accountName) { var message = _pipeline.CreateMessage(); @@ -116,6 +131,22 @@ public Response List(string subscriptionId, string resourceGro } } + internal RequestUriBuilder CreateSetServicePropertiesRequestUri(string subscriptionId, string resourceGroupName, string accountName, BlobServiceData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/", false); + uri.AppendPath("default", true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateSetServicePropertiesRequest(string subscriptionId, string resourceGroupName, string accountName, BlobServiceData data) { var message = _pipeline.CreateMessage(); @@ -204,6 +235,22 @@ public Response SetServiceProperties(string subscriptionId, str } } + internal RequestUriBuilder CreateGetServicePropertiesRequestUri(string subscriptionId, string resourceGroupName, string accountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/blobServices/", false); + uri.AppendPath("default", true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetServicePropertiesRequest(string subscriptionId, string resourceGroupName, string accountName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/DeletedAccountsRestOperations.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/DeletedAccountsRestOperations.cs index fc0f9b97ed8..5e556052995 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/DeletedAccountsRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/DeletedAccountsRestOperations.cs @@ -37,6 +37,17 @@ public DeletedAccountsRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Storage/deletedAccounts", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -104,6 +115,20 @@ public Response List(string subscriptionId, Cancellati } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, AzureLocation location, string deletedAccountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Storage/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/deletedAccounts/", false); + uri.AppendPath(deletedAccountName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, AzureLocation location, string deletedAccountName) { var message = _pipeline.CreateMessage(); @@ -184,6 +209,14 @@ public Response Get(string subscriptionId, AzureLocation loc } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/EncryptionScopesRestOperations.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/EncryptionScopesRestOperations.cs index 17b870678b9..673f25ab4b0 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/EncryptionScopesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/EncryptionScopesRestOperations.cs @@ -37,6 +37,22 @@ public EncryptionScopesRestOperations(HttpPipeline pipeline, string applicationI _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string accountName, string encryptionScopeName, EncryptionScopeData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/encryptionScopes/", false); + uri.AppendPath(encryptionScopeName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string accountName, string encryptionScopeName, EncryptionScopeData data) { var message = _pipeline.CreateMessage(); @@ -131,6 +147,22 @@ public Response Put(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreatePatchRequestUri(string subscriptionId, string resourceGroupName, string accountName, string encryptionScopeName, EncryptionScopeData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/encryptionScopes/", false); + uri.AppendPath(encryptionScopeName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePatchRequest(string subscriptionId, string resourceGroupName, string accountName, string encryptionScopeName, EncryptionScopeData data) { var message = _pipeline.CreateMessage(); @@ -223,6 +255,22 @@ public Response Patch(string subscriptionId, string resourc } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string accountName, string encryptionScopeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/encryptionScopes/", false); + uri.AppendPath(encryptionScopeName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string accountName, string encryptionScopeName) { var message = _pipeline.CreateMessage(); @@ -311,6 +359,21 @@ public Response Get(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string accountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/encryptionScopes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string accountName) { var message = _pipeline.CreateMessage(); @@ -390,6 +453,14 @@ public Response List(string subscriptionId, string re } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string accountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string accountName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/FileServicesRestOperations.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/FileServicesRestOperations.cs index 58b022786ff..bd0e8423792 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/FileServicesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/FileServicesRestOperations.cs @@ -37,6 +37,21 @@ public FileServicesRestOperations(HttpPipeline pipeline, string applicationId, U _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string accountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/fileServices", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string accountName) { var message = _pipeline.CreateMessage(); @@ -116,6 +131,22 @@ public Response List(string subscriptionId, string resourceGro } } + internal RequestUriBuilder CreateSetServicePropertiesRequestUri(string subscriptionId, string resourceGroupName, string accountName, FileServiceData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/fileServices/", false); + uri.AppendPath("default", true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateSetServicePropertiesRequest(string subscriptionId, string resourceGroupName, string accountName, FileServiceData data) { var message = _pipeline.CreateMessage(); @@ -204,6 +235,22 @@ public Response SetServiceProperties(string subscriptionId, str } } + internal RequestUriBuilder CreateGetServicePropertiesRequestUri(string subscriptionId, string resourceGroupName, string accountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/fileServices/", false); + uri.AppendPath("default", true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetServicePropertiesRequest(string subscriptionId, string resourceGroupName, string accountName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/FileSharesRestOperations.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/FileSharesRestOperations.cs index f0dbeec04d8..9d4fa3a4980 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/FileSharesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/FileSharesRestOperations.cs @@ -37,6 +37,33 @@ public FileSharesRestOperations(HttpPipeline pipeline, string applicationId, Uri _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string accountName, int? maxpagesize, string filter, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/fileServices/default/shares", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (maxpagesize != null) + { + uri.AppendQuery("$maxpagesize", maxpagesize.Value, true); + } + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string accountName, int? maxpagesize, string filter, string expand) { var message = _pipeline.CreateMessage(); @@ -134,6 +161,26 @@ public Response List(string subscriptionId, string resourceGroup } } + internal RequestUriBuilder CreateCreateRequestUri(string subscriptionId, string resourceGroupName, string accountName, string shareName, FileShareData data, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/fileServices/default/shares/", false); + uri.AppendPath(shareName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateRequest(string subscriptionId, string resourceGroupName, string accountName, string shareName, FileShareData data, string expand) { var message = _pipeline.CreateMessage(); @@ -234,6 +281,22 @@ public Response Create(string subscriptionId, string resourceGrou } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string accountName, string shareName, FileShareData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/fileServices/default/shares/", false); + uri.AppendPath(shareName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string accountName, string shareName, FileShareData data) { var message = _pipeline.CreateMessage(); @@ -326,6 +389,26 @@ public Response Update(string subscriptionId, string resourceGrou } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string accountName, string shareName, string expand, string xMsSnapshot) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/fileServices/default/shares/", false); + uri.AppendPath(shareName, true); + uri.AppendQuery("api-version", _apiVersion, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string accountName, string shareName, string expand, string xMsSnapshot) { var message = _pipeline.CreateMessage(); @@ -426,6 +509,26 @@ public Response Get(string subscriptionId, string resourceGroupNa } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string accountName, string shareName, string xMsSnapshot, string include) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/fileServices/default/shares/", false); + uri.AppendPath(shareName, true); + uri.AppendQuery("api-version", _apiVersion, true); + if (include != null) + { + uri.AppendQuery("$include", include, true); + } + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string accountName, string shareName, string xMsSnapshot, string include) { var message = _pipeline.CreateMessage(); @@ -514,6 +617,23 @@ public Response Delete(string subscriptionId, string resourceGroupName, string a } } + internal RequestUriBuilder CreateRestoreRequestUri(string subscriptionId, string resourceGroupName, string accountName, string shareName, DeletedShare deletedShare) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/fileServices/default/shares/", false); + uri.AppendPath(shareName, true); + uri.AppendPath("/restore", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRestoreRequest(string subscriptionId, string resourceGroupName, string accountName, string shareName, DeletedShare deletedShare) { var message = _pipeline.CreateMessage(); @@ -597,6 +717,23 @@ public Response Restore(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateLeaseRequestUri(string subscriptionId, string resourceGroupName, string accountName, string shareName, LeaseShareContent content, string xMsSnapshot) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/fileServices/default/shares/", false); + uri.AppendPath(shareName, true); + uri.AppendPath("/lease", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateLeaseRequest(string subscriptionId, string resourceGroupName, string accountName, string shareName, LeaseShareContent content, string xMsSnapshot) { var message = _pipeline.CreateMessage(); @@ -697,6 +834,14 @@ public Response Lease(string subscriptionId, string resource } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string accountName, int? maxpagesize, string filter, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string accountName, int? maxpagesize, string filter, string expand) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/ManagementPoliciesRestOperations.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/ManagementPoliciesRestOperations.cs index 074e9cf9021..6d5f58d0236 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/ManagementPoliciesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/ManagementPoliciesRestOperations.cs @@ -37,6 +37,22 @@ public ManagementPoliciesRestOperations(HttpPipeline pipeline, string applicatio _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string accountName, ManagementPolicyName managementPolicyName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/managementPolicies/", false); + uri.AppendPath(managementPolicyName.ToString(), true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string accountName, ManagementPolicyName managementPolicyName) { var message = _pipeline.CreateMessage(); @@ -123,6 +139,22 @@ public Response Get(string subscriptionId, string resource } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string accountName, ManagementPolicyName managementPolicyName, ManagementPolicyData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/managementPolicies/", false); + uri.AppendPath(managementPolicyName.ToString(), true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string accountName, ManagementPolicyName managementPolicyName, ManagementPolicyData data) { var message = _pipeline.CreateMessage(); @@ -213,6 +245,22 @@ public Response CreateOrUpdate(string subscriptionId, stri } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string accountName, ManagementPolicyName managementPolicyName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/managementPolicies/", false); + uri.AppendPath(managementPolicyName.ToString(), true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string accountName, ManagementPolicyName managementPolicyName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/ObjectReplicationPoliciesRestOperations.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/ObjectReplicationPoliciesRestOperations.cs index 50459707340..3b82a01d1c3 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/ObjectReplicationPoliciesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/ObjectReplicationPoliciesRestOperations.cs @@ -37,6 +37,21 @@ public ObjectReplicationPoliciesRestOperations(HttpPipeline pipeline, string app _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string accountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/objectReplicationPolicies", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string accountName) { var message = _pipeline.CreateMessage(); @@ -116,6 +131,22 @@ public Response List(string subscriptionId, string re } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string accountName, string objectReplicationPolicyId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/objectReplicationPolicies/", false); + uri.AppendPath(objectReplicationPolicyId, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string accountName, string objectReplicationPolicyId) { var message = _pipeline.CreateMessage(); @@ -204,6 +235,22 @@ public Response Get(string subscriptionId, string r } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string accountName, string objectReplicationPolicyId, ObjectReplicationPolicyData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/objectReplicationPolicies/", false); + uri.AppendPath(objectReplicationPolicyId, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string accountName, string objectReplicationPolicyId, ObjectReplicationPolicyData data) { var message = _pipeline.CreateMessage(); @@ -296,6 +343,22 @@ public Response CreateOrUpdate(string subscriptionI } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string accountName, string objectReplicationPolicyId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/objectReplicationPolicies/", false); + uri.AppendPath(objectReplicationPolicyId, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string accountName, string objectReplicationPolicyId) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/PrivateEndpointConnectionsRestOperations.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/PrivateEndpointConnectionsRestOperations.cs index 7fe0f093468..f5edf61e7f9 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/PrivateEndpointConnectionsRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/PrivateEndpointConnectionsRestOperations.cs @@ -37,6 +37,21 @@ public PrivateEndpointConnectionsRestOperations(HttpPipeline pipeline, string ap _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string accountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/privateEndpointConnections", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string accountName) { var message = _pipeline.CreateMessage(); @@ -116,6 +131,22 @@ public Response } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string accountName, string privateEndpointConnectionName, AzureSampleResourceManagerStoragePrivateEndpointConnectionData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/privateEndpointConnections/", false); + uri.AppendPath(privateEndpointConnectionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string accountName, string privateEndpointConnectionName, AzureSampleResourceManagerStoragePrivateEndpointConnectionData data) { var message = _pipeline.CreateMessage(); @@ -296,6 +343,22 @@ public Response } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string accountName, string privateEndpointConnectionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/privateEndpointConnections/", false); + uri.AppendPath(privateEndpointConnectionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string accountName, string privateEndpointConnectionName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/PrivateLinkResourcesRestOperations.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/PrivateLinkResourcesRestOperations.cs index 0c8985a18b6..da7505d9a8b 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/PrivateLinkResourcesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/PrivateLinkResourcesRestOperations.cs @@ -37,6 +37,21 @@ public PrivateLinkResourcesRestOperations(HttpPipeline pipeline, string applicat _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListByStorageAccountRequestUri(string subscriptionId, string resourceGroupName, string accountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/privateLinkResources", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByStorageAccountRequest(string subscriptionId, string resourceGroupName, string accountName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/SkusRestOperations.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/SkusRestOperations.cs index a9e3fa54b51..33aa1fbf569 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/SkusRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/SkusRestOperations.cs @@ -37,6 +37,17 @@ public SkusRestOperations(HttpPipeline pipeline, string applicationId, Uri endpo _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Storage/skus", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/StorageAccountsRestOperations.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/StorageAccountsRestOperations.cs index cc3150d7888..fbeff9b0411 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/StorageAccountsRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/StorageAccountsRestOperations.cs @@ -37,6 +37,17 @@ public StorageAccountsRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCheckNameAvailabilityRequestUri(string subscriptionId, StorageAccountCheckNameAvailabilityContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Storage/checkNameAvailability", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCheckNameAvailabilityRequest(string subscriptionId, StorageAccountCheckNameAvailabilityContent content) { var message = _pipeline.CreateMessage(); @@ -112,6 +123,20 @@ public Response CheckNameAvailability(string subscr } } + internal RequestUriBuilder CreateCreateRequestUri(string subscriptionId, string resourceGroupName, string accountName, StorageAccountCreateOrUpdateContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateRequest(string subscriptionId, string resourceGroupName, string accountName, StorageAccountCreateOrUpdateContent content) { var message = _pipeline.CreateMessage(); @@ -190,6 +215,20 @@ public Response Create(string subscriptionId, string resourceGroupName, string a } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string accountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string accountName) { var message = _pipeline.CreateMessage(); @@ -259,6 +298,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string a } } + internal RequestUriBuilder CreateGetPropertiesRequestUri(string subscriptionId, string resourceGroupName, string accountName, StorageAccountExpand? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendQuery("api-version", _apiVersion, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToSerialString(), true); + } + return uri; + } + internal HttpMessage CreateGetPropertiesRequest(string subscriptionId, string resourceGroupName, string accountName, StorageAccountExpand? expand) { var message = _pipeline.CreateMessage(); @@ -347,6 +404,20 @@ public Response GetProperties(string subscriptionId, string } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string accountName, StorageAccountPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string accountName, StorageAccountPatch patch) { var message = _pipeline.CreateMessage(); @@ -433,6 +504,17 @@ public Response Update(string subscriptionId, string resourc } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -500,6 +582,19 @@ public Response List(string subscriptionId, Cancellati } } + internal RequestUriBuilder CreateListByResourceGroupRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByResourceGroupRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -573,6 +668,25 @@ public Response ListByResourceGroup(string subscriptio } } + internal RequestUriBuilder CreateListKeysRequestUri(string subscriptionId, string resourceGroupName, string accountName, ListKeyExpand? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/listKeys", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + return uri; + } + internal HttpMessage CreateListKeysRequest(string subscriptionId, string resourceGroupName, string accountName, ListKeyExpand? expand) { var message = _pipeline.CreateMessage(); @@ -658,6 +772,21 @@ public Response ListKeys(string subscriptionId, st } } + internal RequestUriBuilder CreateRegenerateKeyRequestUri(string subscriptionId, string resourceGroupName, string accountName, StorageAccountRegenerateKeyContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/regenerateKey", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRegenerateKeyRequest(string subscriptionId, string resourceGroupName, string accountName, StorageAccountRegenerateKeyContent content) { var message = _pipeline.CreateMessage(); @@ -745,6 +874,21 @@ public Response RegenerateKey(string subscriptionI } } + internal RequestUriBuilder CreateListAccountSASRequestUri(string subscriptionId, string resourceGroupName, string accountName, AccountSasContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/ListAccountSas", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListAccountSASRequest(string subscriptionId, string resourceGroupName, string accountName, AccountSasContent content) { var message = _pipeline.CreateMessage(); @@ -832,6 +976,21 @@ public Response ListAccountSAS(string subscriptionId, st } } + internal RequestUriBuilder CreateListServiceSASRequestUri(string subscriptionId, string resourceGroupName, string accountName, ServiceSasContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/ListServiceSas", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListServiceSASRequest(string subscriptionId, string resourceGroupName, string accountName, ServiceSasContent content) { var message = _pipeline.CreateMessage(); @@ -919,6 +1078,21 @@ public Response ListServiceSAS(string subscriptionId, st } } + internal RequestUriBuilder CreateFailoverRequestUri(string subscriptionId, string resourceGroupName, string accountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/failover", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateFailoverRequest(string subscriptionId, string resourceGroupName, string accountName) { var message = _pipeline.CreateMessage(); @@ -989,6 +1163,22 @@ public Response Failover(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateHierarchicalNamespaceMigrationRequestUri(string subscriptionId, string resourceGroupName, string accountName, string requestType) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourcegroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/hnsonmigration", false); + uri.AppendQuery("api-version", _apiVersion, true); + uri.AppendQuery("requestType", requestType, true); + return uri; + } + internal HttpMessage CreateHierarchicalNamespaceMigrationRequest(string subscriptionId, string resourceGroupName, string accountName, string requestType) { var message = _pipeline.CreateMessage(); @@ -1065,6 +1255,21 @@ public Response HierarchicalNamespaceMigration(string subscriptionId, string res } } + internal RequestUriBuilder CreateAbortHierarchicalNamespaceMigrationRequestUri(string subscriptionId, string resourceGroupName, string accountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourcegroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/aborthnsonmigration", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateAbortHierarchicalNamespaceMigrationRequest(string subscriptionId, string resourceGroupName, string accountName) { var message = _pipeline.CreateMessage(); @@ -1136,6 +1341,21 @@ public Response AbortHierarchicalNamespaceMigration(string subscriptionId, strin } } + internal RequestUriBuilder CreateRestoreBlobRangesRequestUri(string subscriptionId, string resourceGroupName, string accountName, BlobRestoreContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/restoreBlobRanges", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRestoreBlobRangesRequest(string subscriptionId, string resourceGroupName, string accountName, BlobRestoreContent content) { var message = _pipeline.CreateMessage(); @@ -1215,6 +1435,21 @@ public Response RestoreBlobRanges(string subscriptionId, string resourceGroupNam } } + internal RequestUriBuilder CreateRevokeUserDelegationKeysRequestUri(string subscriptionId, string resourceGroupName, string accountName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Storage/storageAccounts/", false); + uri.AppendPath(accountName, true); + uri.AppendPath("/revokeUserDelegationKeys", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRevokeUserDelegationKeysRequest(string subscriptionId, string resourceGroupName, string accountName) { var message = _pipeline.CreateMessage(); @@ -1283,6 +1518,14 @@ public Response RevokeUserDelegationKeys(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -1351,6 +1594,14 @@ public Response ListNextPage(string nextLink, string s } } + internal RequestUriBuilder CreateListByResourceGroupNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByResourceGroupNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/UsagesRestOperations.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/UsagesRestOperations.cs index 529e8414f65..61fdd4c0226 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/UsagesRestOperations.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/RestOperations/UsagesRestOperations.cs @@ -37,6 +37,19 @@ public UsagesRestOperations(HttpPipeline pipeline, string applicationId, Uri end _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListByLocationRequestUri(string subscriptionId, AzureLocation location) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Storage/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/usages", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByLocationRequest(string subscriptionId, AzureLocation location) { var message = _pipeline.CreateMessage(); diff --git a/samples/AzureSample.ResourceManager.Storage/src/Generated/StorageAccountResource.cs b/samples/AzureSample.ResourceManager.Storage/src/Generated/StorageAccountResource.cs index 17bbb5a612b..24facdc505f 100644 --- a/samples/AzureSample.ResourceManager.Storage/src/Generated/StorageAccountResource.cs +++ b/samples/AzureSample.ResourceManager.Storage/src/Generated/StorageAccountResource.cs @@ -502,7 +502,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _storageAccountRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new StorageArmOperation(response); + var uri = _storageAccountRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -544,7 +546,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _storageAccountRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new StorageArmOperation(response); + var uri = _storageAccountRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new StorageArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/src/AutoRest.CSharp/Common/Generation/Writers/RequestWriterHelpers.cs b/src/AutoRest.CSharp/Common/Generation/Writers/RequestWriterHelpers.cs index d4eeab89a53..cd41f695a6e 100644 --- a/src/AutoRest.CSharp/Common/Generation/Writers/RequestWriterHelpers.cs +++ b/src/AutoRest.CSharp/Common/Generation/Writers/RequestWriterHelpers.cs @@ -28,6 +28,12 @@ namespace AutoRest.CSharp.Generation.Writers { internal static class RequestWriterHelpers { + public static void WriteRequestAndUriCreation(CodeWriter writer, RestClientMethod clientMethod, string methodAccessibility, ClientFields fields, string? responseClassifierType, bool writeSDKUserAgent, IReadOnlyList? clientParameters = null) + { + WriteUriCreation(writer, clientMethod, methodAccessibility, fields, clientParameters); + WriteRequestCreation(writer, clientMethod, fields, responseClassifierType, writeSDKUserAgent, clientParameters); + } + public static void WriteRequestCreation(CodeWriter writer, RestClientMethod clientMethod, ClientFields fields, string? responseClassifierType, bool writeSDKUserAgent, IReadOnlyList? clientParameters = null) { using var methodScope = writer.AmbientScope(); @@ -238,8 +244,52 @@ public static void WriteRequestCreation(CodeWriter writer, RestClientMethod clie writer.Line(); } - private static ReferenceOrConstant GetFieldReference(ClientFields fields, ReferenceOrConstant value) => - !value.IsConstant ? fields.GetFieldByParameter(value.Reference.Name, value.Reference.Type) ?? value : value; + private static void WriteUriCreation(CodeWriter writer, RestClientMethod clientMethod, string methodAccessibility, ClientFields? fields, IReadOnlyList? clientParameters = null) + { + using var methodScope = writer.AmbientScope(); + var methodName = CreateRequestUriMethodName($"{clientMethod.Name}"); + writer.Append($"{methodAccessibility} {typeof(RequestUriBuilder)} {methodName}("); + foreach (Parameter clientParameter in clientMethod.Parameters) + { + writer.Append($"{clientParameter.Type} {clientParameter.Name:D},"); + } + writer.RemoveTrailingComma(); + writer.Line($")"); + using (writer.Scope()) + { + var uri = new CodeWriterDeclaration("uri"); + writer.Line($"var {uri:D} = new RawRequestUriBuilder();"); + foreach (var segment in clientMethod.Request.PathSegments) + { + var value = GetFieldReference(fields, segment.Value); + if (value.Type.IsFrameworkType && value.Type.FrameworkType == typeof(Uri)) + { + writer.Append($"{uri}.Reset("); + WriteConstantOrParameter(writer, value, enumAsString: !segment.IsRaw); + writer.Line($");"); + } + else if (!value.IsConstant && value.Reference.Name == "nextLink") + { + WritePathSegment(writer, uri, segment, value, "AppendRawNextLink"); + } + else + { + WritePathSegment(writer, uri, segment, value); + } + } + + //TODO: Duplicate code between query and header parameter processing logic + foreach (var queryParameter in clientMethod.Request.Query) + { + WriteQueryParameter(writer, uri, queryParameter, fields, clientParameters); + } + writer.Line($"return {uri};"); + } + writer.Line(); + } + + private static ReferenceOrConstant GetFieldReference(ClientFields? fields, ReferenceOrConstant value) => + fields != null && !value.IsConstant ? fields.GetFieldByParameter(value.Reference.Name, value.Reference.Type) ?? value : value; private static ReferenceOrConstant GetReferenceForQueryParameter(ClientFields? fields, QueryParameter parameter) { @@ -267,6 +317,7 @@ public static void WriteHeaders(CodeWriter writer, RestClientMethod clientMethod public static string CreateRequestMethodName(RestClientMethod method) => CreateRequestMethodName(method.Name); public static string CreateRequestMethodName(string name) => $"Create{name}Request"; + public static string CreateRequestUriMethodName(string name) => $"Create{name}RequestUri"; private static void WriteSerializeContent(CodeWriter writer, CodeWriterDeclaration request, ObjectSerialization bodySerialization, FormattableString value) { diff --git a/src/AutoRest.CSharp/Common/Generation/Writers/SerializationWriter.cs b/src/AutoRest.CSharp/Common/Generation/Writers/SerializationWriter.cs index 45a7fbbc99f..db0824a5ed1 100644 --- a/src/AutoRest.CSharp/Common/Generation/Writers/SerializationWriter.cs +++ b/src/AutoRest.CSharp/Common/Generation/Writers/SerializationWriter.cs @@ -6,7 +6,13 @@ using System.Linq; using System.Text.Json.Serialization; using AutoRest.CSharp.Common.Output.Models.Types; +using AutoRest.CSharp.Generation.Types; +using AutoRest.CSharp.Output.Models.Serialization.Bicep; +using AutoRest.CSharp.Mgmt.Output; +using AutoRest.CSharp.Output.Models.Serialization.Json; +using AutoRest.CSharp.Output.Models.Serialization.Xml; using AutoRest.CSharp.Output.Models.Types; +using AutoRest.CSharp.Common.Output.Builders; namespace AutoRest.CSharp.Generation.Writers { @@ -16,6 +22,12 @@ public void WriteSerialization(CodeWriter writer, TypeProvider schema) { switch (schema) { + // The corresponding ResoruceData does not exist for PartialResource, so we do not need to generate serialization methods for it. + case PartialResource: + break; + case Resource resource: + WriteResourceJsonSerialization(writer, resource); + break; case SerializableObjectType obj: if (obj.IncludeSerializer || obj.IncludeDeserializer) { @@ -28,6 +40,25 @@ public void WriteSerialization(CodeWriter writer, TypeProvider schema) } } + private void WriteResourceJsonSerialization(CodeWriter writer, Resource resource) + { + var declaration = resource.Declaration; + + using (writer.Namespace(declaration.Namespace)) + { + var resourceDataType = resource.ResourceData.Type; + writer.Append($"{declaration.Accessibility} partial class {declaration.Name} : IJsonModel<{resourceDataType}>"); + + using (writer.Scope()) + { + foreach (var method in JsonSerializationMethodsBuilder.BuildResourceJsonSerializationMethods(resource)) + { + writer.WriteMethod(method); + } + } + } + } + private void WriteObjectSerialization(CodeWriter writer, SerializableObjectType model) { var declaration = model.Declaration; diff --git a/src/AutoRest.CSharp/Common/Output/Builders/JsonSerializationMethodsBuilder.cs b/src/AutoRest.CSharp/Common/Output/Builders/JsonSerializationMethodsBuilder.cs index d7744151e7e..fcb986dbeca 100644 --- a/src/AutoRest.CSharp/Common/Output/Builders/JsonSerializationMethodsBuilder.cs +++ b/src/AutoRest.CSharp/Common/Output/Builders/JsonSerializationMethodsBuilder.cs @@ -42,6 +42,48 @@ namespace AutoRest.CSharp.Common.Output.Builders { internal static class JsonSerializationMethodsBuilder { + public static IEnumerable BuildResourceJsonSerializationMethods(Resource resource) + { + var resourceDataType = resource.ResourceData.Type; + var jsonModelInterface = new CSharpType(typeof(IJsonModel<>), resourceDataType); + var options = new ModelReaderWriterOptionsExpression(KnownParameters.Serializations.Options); + var modelReaderWriter = new CSharpType(typeof(ModelReaderWriter)); + var iModelTInterface = new CSharpType(typeof(IPersistableModel<>), resourceDataType); + var data = new BinaryDataExpression(KnownParameters.Serializations.Data); + + // void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) + var writer = new Utf8JsonWriterExpression(KnownParameters.Serializations.Utf8JsonWriter); + yield return new Method( + new MethodSignature(nameof(IJsonModel.Write), null, null, MethodSignatureModifiers.None, null, null, new[] { KnownParameters.Serializations.Utf8JsonWriter, KnownParameters.Serializations.Options }, ExplicitInterface: jsonModelInterface), + // => ((IJsonModel)Data).Write(writer, options); + new MemberExpression(This, "Data").CastTo(jsonModelInterface).Invoke(nameof(IJsonModel.Write), writer, options)); + + // T IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) + var reader = KnownParameters.Serializations.Utf8JsonReader; + yield return new Method( + new MethodSignature(nameof(IJsonModel.Create), null, null, MethodSignatureModifiers.None, resourceDataType, null, new[] { reader, KnownParameters.Serializations.Options }, ExplicitInterface: jsonModelInterface), + // => ((IJsonModel)Data).Create(reader, options); + new MemberExpression(This, "Data").CastTo(jsonModelInterface).Invoke(nameof(IJsonModel.Create), reader, options)); + + // BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) + yield return new Method( + new MethodSignature(nameof(IPersistableModel.Write), null, null, MethodSignatureModifiers.None, typeof(BinaryData), null, new[] { KnownParameters.Serializations.Options }, ExplicitInterface: iModelTInterface), + // => ModelReaderWriter.Write(Data, options); + new InvokeStaticMethodExpression(modelReaderWriter, "Write", new List { new MemberExpression(This, "Data"), options }, new List { resourceDataType })); + + // T IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) + yield return new Method( + new MethodSignature(nameof(IPersistableModel.Create), null, null, MethodSignatureModifiers.None, resourceDataType, null, new[] { KnownParameters.Serializations.Data, KnownParameters.Serializations.Options }, ExplicitInterface: iModelTInterface), + // => ModelReaderWriter.Read(new BinaryData(reader.ValueSequence)); + new InvokeStaticMethodExpression(modelReaderWriter, "Read", new List { data, options }, new List { resourceDataType })); + + // ModelReaderWriterFormat IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) + yield return new Method( + new MethodSignature(nameof(IPersistableModel.GetFormatFromOptions), null, null, MethodSignatureModifiers.None, typeof(string), null, new[] { KnownParameters.Serializations.Options }, ExplicitInterface: iModelTInterface), + // => Data.GetFormatFromOptions(options); + new MemberExpression(This, "Data").CastTo(iModelTInterface).Invoke(nameof(IPersistableModel.GetFormatFromOptions), options)); + } + public static IEnumerable BuildJsonSerializationMethods(JsonObjectSerialization json, SerializationInterfaces interfaces) { var useModelReaderWriter = Configuration.UseModelReaderWriter; @@ -87,7 +129,7 @@ public static IEnumerable BuildJsonSerializationMethods(JsonObjectSerial ); // T IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) - var reader = (ValueExpression)KnownParameters.Serializations.Utf8JsonReader; + var reader = KnownParameters.Serializations.Utf8JsonReader; yield return new ( new MethodSignature(nameof(IJsonModel.Create), null, null, MethodSignatureModifiers.None, typeOfT, null, new[] { KnownParameters.Serializations.Utf8JsonReader, KnownParameters.Serializations.Options }, ExplicitInterface: iJsonModelInterface), diff --git a/src/AutoRest.CSharp/Mgmt/AutoRest/MgmtTarget.cs b/src/AutoRest.CSharp/Mgmt/AutoRest/MgmtTarget.cs index 29951c40deb..a35502e18a2 100644 --- a/src/AutoRest.CSharp/Mgmt/AutoRest/MgmtTarget.cs +++ b/src/AutoRest.CSharp/Mgmt/AutoRest/MgmtTarget.cs @@ -184,10 +184,18 @@ public static async Task ExecuteAsync(GeneratedCodeWorkspace project, CodeModel var writer = ResourceWriter.GetWriter(resource); writer.Write(); + var name = resource.Type.Name; + var ri = new ResourceItem(resource, MgmtReport.Instance.TransformSection); MgmtReport.Instance.ResourceSection.Add(ri.Name, ri); - AddGeneratedFile(project, $"{resource.Type.Name}.cs", writer.ToString()); + AddGeneratedFile(project, $"{name}.cs", writer.ToString()); + + // we do not need this if model reader writer feature is not enabled + if (Configuration.UseModelReaderWriter) + { + WriteSerialization(project, resource, serializeWriter, $"{name}.Serialization.cs"); + } } var wirePathWriter = new WirePathWriter(); @@ -299,6 +307,11 @@ private static void WriteArmModel(GeneratedCodeWorkspace project, TypeProvider m return; } + WriteSerialization(project, model, serializeWriter, serializationFileName); + } + + private static void WriteSerialization(GeneratedCodeWorkspace project, TypeProvider model, SerializationWriter serializeWriter, string serializationFileName) + { var serializerCodeWriter = new CodeWriter(); serializeWriter.WriteSerialization(serializerCodeWriter, model); AddGeneratedFile(project, serializationFileName, serializerCodeWriter.ToString()); diff --git a/src/AutoRest.CSharp/Mgmt/Generation/MgmtClientBaseWriter.cs b/src/AutoRest.CSharp/Mgmt/Generation/MgmtClientBaseWriter.cs index 0621bed029e..08f7361ce6a 100644 --- a/src/AutoRest.CSharp/Mgmt/Generation/MgmtClientBaseWriter.cs +++ b/src/AutoRest.CSharp/Mgmt/Generation/MgmtClientBaseWriter.cs @@ -632,7 +632,23 @@ protected virtual void WriteLROMethodBranch(MgmtRestOperation operation, IEnumer _writer.Append($"var {Configuration.ApiTypes.ResponseParameterName} = {GetAwait(async)} {GetRestClientName(operation)}.{CreateMethodName(operation.Method.Name, async)}("); WriteArguments(_writer, parameterMapping); _writer.Line($"cancellationToken){GetConfigureAwait(async)};"); + if (operation.IsFakeLongRunningOperation) + { + _writer.Append($"var uri = "); + _writer.Append($"{GetRestClientName(operation)}.{RequestWriterHelpers.CreateRequestUriMethodName(operation.Method.Name)}("); + WriteArguments(_writer, parameterMapping); + _writer.RemoveTrailingComma(); + _writer.Line($");"); + + _writer.Append($"var rehydrationToken = {typeof(NextLinkOperationImplementation)}.GetRehydrationToken("); + _writer.Append($"{typeof(RequestMethod)}.{new CultureInfo("en-US", false).TextInfo.ToTitleCase(operation.Method.Request.HttpMethod.ToString().ToLower())}, "); + _writer.Append($"uri.ToUri(), "); + _writer.Append($"uri.ToString(), "); + _writer.Append($"\"None\", "); + _writer.Append($"null, "); + _writer.Line($"{typeof(OperationFinalStateVia)}.OriginalUri.ToString());"); + } WriteLROResponse(GetDiagnosticReference(operation).Name, PipelineProperty, operation, parameterMapping, async); } @@ -662,6 +678,7 @@ protected virtual void WriteLROResponse(string diagnosticsVariableName, string p { _writer.Append($"{Configuration.ApiTypes.ResponseParameterName}"); } + _writer.Append($", rehydrationToken"); } else { diff --git a/src/AutoRest.CSharp/Mgmt/Generation/MgmtLongRunningOperationWriter.cs b/src/AutoRest.CSharp/Mgmt/Generation/MgmtLongRunningOperationWriter.cs index 74f41d3073b..92ab249884c 100644 --- a/src/AutoRest.CSharp/Mgmt/Generation/MgmtLongRunningOperationWriter.cs +++ b/src/AutoRest.CSharp/Mgmt/Generation/MgmtLongRunningOperationWriter.cs @@ -2,7 +2,8 @@ // Licensed under the MIT License. See License.txt in the project root for license information. using System; -using System.ComponentModel; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; @@ -58,6 +59,9 @@ public void Write() using (_writer.Scope()) { _writer.Line($"private readonly {_operationInternalType} _operation;"); + _writer.Line($"private readonly {typeof(RehydrationToken?)} _completeRehydrationToken;"); + _writer.Line($"private readonly {typeof(NextLinkOperationImplementation)}? _nextLinkOperation;"); + _writer.Line($"private readonly {typeof(string)} _operationId;"); _writer.Line(); _writer.WriteXmlDocumentationSummary($"Initializes a new instance of {_name} for mocking."); @@ -66,26 +70,60 @@ public void Write() } _writer.Line(); - using (_writer.Scope($"internal {_name}({_responseType} {Configuration.ApiTypes.ResponseParameterName})")) + using (_writer.Scope($"internal {_name}({_responseType} {Configuration.ApiTypes.ResponseParameterName}, {typeof(RehydrationToken?)} rehydrationToken = null)")) { _writer.Line($"_operation = {_operationInternalType}.Succeeded({_responseString});"); + _writer.Line($"_completeRehydrationToken = rehydrationToken;"); + _writer.Line($"_operationId = GetOperationId(rehydrationToken);"); } _writer.Line(); using (_writer.Scope($"internal {_name}({_operationSourceString}{typeof(ClientDiagnostics)} clientDiagnostics, {Configuration.ApiTypes.HttpPipelineType} pipeline, {typeof(Request)} request, {Configuration.ApiTypes.ResponseType} {Configuration.ApiTypes.ResponseParameterName}, {typeof(OperationFinalStateVia)} finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null)")) { var nextLinkOperation = new CodeWriterDeclaration("nextLinkOperation"); - _writer.Line($"var {nextLinkOperation:D} = {typeof(NextLinkOperationImplementation)}.{nameof(NextLinkOperationImplementation.Create)}({_sourceString}pipeline, request.Method, request.Uri.ToUri(), {Configuration.ApiTypes.ResponseParameterName}, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue);"); - _writer.Line($"_operation = new {_operationInternalType}({nextLinkOperation}, clientDiagnostics, {Configuration.ApiTypes.ResponseParameterName}, {_name:L}, fallbackStrategy: new {typeof(SequentialDelayStrategy)}());"); - } + _writer.Line($"var {nextLinkOperation:D} = {typeof(NextLinkOperationImplementation)}.{nameof(NextLinkOperationImplementation.Create)}(pipeline, request.Method, request.Uri.ToUri(), {Configuration.ApiTypes.ResponseParameterName}, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue);"); + using (_writer.Scope($"if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue)")) + { + // If nextLinkOperation is NextLinkOperationImplementation, this implies that the operation is not complete + // we need to store the nextLinkOperation to get lateset rehydration token + _writer.Line($"_nextLinkOperation = nextLinkOperationValue;"); + _writer.Line($"_operationId = _nextLinkOperation.OperationId;"); + } + using (_writer.Scope($"else")) + { + // This implies the operation is complete and we can cache the rehydration token since it won't change anymore + _writer.Line($"_completeRehydrationToken = {typeof(NextLinkOperationImplementation)}.{nameof(NextLinkOperationImplementation.GetRehydrationToken)}(request.Method, request.Uri.ToUri(), {Configuration.ApiTypes.ResponseParameterName}, finalStateVia);"); + _writer.Line($"_operationId = GetOperationId(_completeRehydrationToken);"); + } + if (_isGeneric) + { + _writer.Line($"_operation = new {_operationInternalType}({typeof(NextLinkOperationImplementation)}.{nameof(NextLinkOperationImplementation.Create)}({_sourceString}nextLinkOperation), clientDiagnostics, {Configuration.ApiTypes.ResponseParameterName}, {_name:L}, fallbackStrategy: new {typeof(SequentialDelayStrategy)}());"); + } + else + { + _writer.Line($"_operation = new {_operationInternalType}({nextLinkOperation}, clientDiagnostics, {Configuration.ApiTypes.ResponseParameterName}, {_name:L}, fallbackStrategy: new {typeof(SequentialDelayStrategy)}());"); + } + } _writer.Line(); + using (_writer.Scope($"private string GetOperationId(RehydrationToken? rehydrationToken)")) + { + using (_writer.Scope($"if (rehydrationToken is null)")) + { + _writer.Line($"return null;"); + } + _writer.Line($"var lroDetails = {typeof(ModelReaderWriter)}.{nameof(ModelReaderWriter.Write)}(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson<{typeof(Dictionary)}>();"); + _writer.Line($"return lroDetails[\"id\"];"); + } + + _writer.WriteXmlDocumentationInheritDoc(); + _writer + .LineRaw("public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet;") + .Line(); + _writer.WriteXmlDocumentationInheritDoc(); _writer - .LineRaw("#pragma warning disable CA1822") - .LineRaw($"[{typeof(EditorBrowsableAttribute)}({typeof(EditorBrowsableState)}.{nameof(EditorBrowsableState.Never)})]") - .LineRaw("public override string Id => throw new NotImplementedException();") - .LineRaw("#pragma warning restore CA1822") + .LineRaw("public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken;") .Line(); if (_isGeneric) diff --git a/src/AutoRest.CSharp/Mgmt/Generation/MgmtRestClientWriter.cs b/src/AutoRest.CSharp/Mgmt/Generation/MgmtRestClientWriter.cs index d4a10472a23..0cfb40333b1 100644 --- a/src/AutoRest.CSharp/Mgmt/Generation/MgmtRestClientWriter.cs +++ b/src/AutoRest.CSharp/Mgmt/Generation/MgmtRestClientWriter.cs @@ -29,7 +29,7 @@ public void WriteClient(CodeWriter writer, MgmtRestClient restClient) foreach (var method in restClient.Methods.Select(m => m.Method)) { - RequestWriterHelpers.WriteRequestCreation(writer, method, restClient.Fields, null, true, restClient.Parameters); + RequestWriterHelpers.WriteRequestAndUriCreation(writer, method, "internal", restClient.Fields, null, true, restClient.Parameters); WriteOperation(writer, restClient, method, true); WriteOperation(writer, restClient, method, false); } diff --git a/test/TestProjects/MgmtAcronymMapping/src/Generated/LongRunningOperation/MgmtAcronymMappingArmOperation.cs b/test/TestProjects/MgmtAcronymMapping/src/Generated/LongRunningOperation/MgmtAcronymMappingArmOperation.cs index 861328560f3..479001a67c0 100644 --- a/test/TestProjects/MgmtAcronymMapping/src/Generated/LongRunningOperation/MgmtAcronymMappingArmOperation.cs +++ b/test/TestProjects/MgmtAcronymMapping/src/Generated/LongRunningOperation/MgmtAcronymMappingArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtAcronymMappingArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtAcronymMappingArmOperation for mocking. protected MgmtAcronymMappingArmOperation() { } - internal MgmtAcronymMappingArmOperation(Response response) + internal MgmtAcronymMappingArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtAcronymMappingArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtAcronymMappingArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtAcronymMapping/src/Generated/LongRunningOperation/MgmtAcronymMappingArmOperationOfT.cs b/test/TestProjects/MgmtAcronymMapping/src/Generated/LongRunningOperation/MgmtAcronymMappingArmOperationOfT.cs index b4deefaee9b..374fed097cf 100644 --- a/test/TestProjects/MgmtAcronymMapping/src/Generated/LongRunningOperation/MgmtAcronymMappingArmOperationOfT.cs +++ b/test/TestProjects/MgmtAcronymMapping/src/Generated/LongRunningOperation/MgmtAcronymMappingArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtAcronymMappingArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtAcronymMappingArmOperation for mocking. protected MgmtAcronymMappingArmOperation() { } - internal MgmtAcronymMappingArmOperation(Response response) + internal MgmtAcronymMappingArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtAcronymMappingArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtAcronymMappingArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtAcronymMappingArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/ImagesRestOperations.cs b/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/ImagesRestOperations.cs index c86428c6726..a0033832054 100644 --- a/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/ImagesRestOperations.cs +++ b/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/ImagesRestOperations.cs @@ -37,6 +37,20 @@ public ImagesRestOperations(HttpPipeline pipeline, string applicationId, Uri end _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string name, ImageData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/images/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string name, ImageData data) { var message = _pipeline.CreateMessage(); @@ -115,6 +129,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string imageName, ImagePatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/images/", false); + uri.AppendPath(imageName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string imageName, ImagePatch patch) { var message = _pipeline.CreateMessage(); @@ -193,6 +221,20 @@ public Response Update(string subscriptionId, string resourceGroupName, string i } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string imageName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/images/", false); + uri.AppendPath(imageName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string imageName) { var message = _pipeline.CreateMessage(); @@ -264,6 +306,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string i } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string imageName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/images/", false); + uri.AppendPath(imageName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string imageName, string expand) { var message = _pipeline.CreateMessage(); @@ -352,6 +412,19 @@ public Response Get(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateListByResourceGroupRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/images", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByResourceGroupRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -425,6 +498,17 @@ public Response ListByResourceGroup(string subscriptionId, stri } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/images", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -492,6 +576,14 @@ public Response List(string subscriptionId, CancellationToken c } } + internal RequestUriBuilder CreateListByResourceGroupNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByResourceGroupNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -564,6 +656,14 @@ public Response ListByResourceGroupNextPage(string nextLink, st } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/LogAnalyticsRestOperations.cs b/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/LogAnalyticsRestOperations.cs index 04c53ba9c0a..c322f6f6a0d 100644 --- a/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/LogAnalyticsRestOperations.cs +++ b/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/LogAnalyticsRestOperations.cs @@ -36,6 +36,19 @@ public LogAnalyticsRestOperations(HttpPipeline pipeline, string applicationId, U _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateExportRequestRateByIntervalRequestUri(string subscriptionId, AzureLocation location, RequestRateByIntervalContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/logAnalytics/apiAccess/getRequestRateByInterval", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateExportRequestRateByIntervalRequest(string subscriptionId, AzureLocation location, RequestRateByIntervalContent content) { var message = _pipeline.CreateMessage(); @@ -107,6 +120,19 @@ public Response ExportRequestRateByInterval(string subscriptionId, AzureLocation } } + internal RequestUriBuilder CreateExportThrottledRequestsRequestUri(string subscriptionId, AzureLocation location, ThrottledRequestsContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/logAnalytics/apiAccess/getThrottledRequests", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateExportThrottledRequestsRequest(string subscriptionId, AzureLocation location, ThrottledRequestsContent content) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetExtensionsRestOperations.cs b/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetExtensionsRestOperations.cs index ef18398202e..2a7152ef35b 100644 --- a/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetExtensionsRestOperations.cs +++ b/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetExtensionsRestOperations.cs @@ -37,6 +37,22 @@ public VirtualMachineScaleSetExtensionsRestOperations(HttpPipeline pipeline, str _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName, VirtualMachineScaleSetExtensionData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmssExtensionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName, VirtualMachineScaleSetExtensionData data) { var message = _pipeline.CreateMessage(); @@ -121,6 +137,22 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName, VirtualMachineScaleSetExtensionPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmssExtensionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName, VirtualMachineScaleSetExtensionPatch patch) { var message = _pipeline.CreateMessage(); @@ -205,6 +237,22 @@ public Response Update(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmssExtensionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName) { var message = _pipeline.CreateMessage(); @@ -282,6 +330,26 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/extensions/", false); + uri.AppendPath(vmssExtensionName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string vmssExtensionName, string expand) { var message = _pipeline.CreateMessage(); @@ -376,6 +444,21 @@ public Response Get(string subscriptionId, } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/extensions", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -455,6 +538,14 @@ public Response List(string subscript } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetRollingUpgradesRestOperations.cs b/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetRollingUpgradesRestOperations.cs index 7c916ae6080..45d24b17fb3 100644 --- a/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetRollingUpgradesRestOperations.cs +++ b/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetRollingUpgradesRestOperations.cs @@ -36,6 +36,21 @@ public VirtualMachineScaleSetRollingUpgradesRestOperations(HttpPipeline pipeline _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCancelRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/rollingUpgrades/cancel", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCancelRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -106,6 +121,21 @@ public Response Cancel(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateStartOSUpgradeRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/osRollingUpgrade", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateStartOSUpgradeRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -176,6 +206,21 @@ public Response StartOSUpgrade(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateStartExtensionUpgradeRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/extensionRollingUpgrade", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateStartExtensionUpgradeRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -246,6 +291,21 @@ public Response StartExtensionUpgrade(string subscriptionId, string resourceGrou } } + internal RequestUriBuilder CreateGetLatestRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/rollingUpgrades/latest", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetLatestRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetVMsRestOperations.cs b/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetVMsRestOperations.cs index 59f96737adc..32a88ccee98 100644 --- a/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetVMsRestOperations.cs +++ b/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetVMsRestOperations.cs @@ -37,6 +37,23 @@ public VirtualMachineScaleSetVMsRestOperations(HttpPipeline pipeline, string app _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateReimageRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, VirtualMachineScaleSetVmReimageContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/reimage", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateReimageRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, VirtualMachineScaleSetVmReimageContent content) { var message = _pipeline.CreateMessage(); @@ -122,6 +139,23 @@ public Response Reimage(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateReimageAllRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/reimageall", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateReimageAllRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -198,6 +232,23 @@ public Response ReimageAll(string subscriptionId, string resourceGroupName, stri } } + internal RequestUriBuilder CreateDeallocateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/deallocate", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeallocateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -274,6 +325,22 @@ public Response Deallocate(string subscriptionId, string resourceGroupName, stri } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, VirtualMachineScaleSetVmData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, VirtualMachineScaleSetVmData data) { var message = _pipeline.CreateMessage(); @@ -358,6 +425,22 @@ public Response Update(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -435,6 +518,26 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, InstanceViewType? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, InstanceViewType? expand) { var message = _pipeline.CreateMessage(); @@ -529,6 +632,23 @@ public Response Get(string subscriptionId, string } } + internal RequestUriBuilder CreateGetInstanceViewRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/instanceView", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetInstanceViewRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -614,6 +734,33 @@ public Response GetInstanceView(string sub } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string virtualMachineScaleSetName, string filter, string select, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(virtualMachineScaleSetName, true); + uri.AppendPath("/virtualMachines", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (select != null) + { + uri.AppendQuery("$select", select, true); + } + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string virtualMachineScaleSetName, string filter, string select, string expand) { var message = _pipeline.CreateMessage(); @@ -711,6 +858,27 @@ public Response List(string subscriptionId, } } + internal RequestUriBuilder CreatePowerOffRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, bool? skipShutdown) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/poweroff", false); + if (skipShutdown != null) + { + uri.AppendQuery("skipShutdown", skipShutdown.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePowerOffRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, bool? skipShutdown) { var message = _pipeline.CreateMessage(); @@ -793,6 +961,23 @@ public Response PowerOff(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateRestartRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/restart", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRestartRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -869,6 +1054,23 @@ public Response Restart(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateStartRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/start", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateStartRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -945,6 +1147,23 @@ public Response Start(string subscriptionId, string resourceGroupName, string vm } } + internal RequestUriBuilder CreateRedeployRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/redeploy", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRedeployRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -1021,6 +1240,27 @@ public Response Redeploy(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateRetrieveBootDiagnosticsDataRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, int? sasUriExpirationTimeInMinutes) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/retrieveBootDiagnosticsData", false); + if (sasUriExpirationTimeInMinutes != null) + { + uri.AppendQuery("sasUriExpirationTimeInMinutes", sasUriExpirationTimeInMinutes.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRetrieveBootDiagnosticsDataRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId, int? sasUriExpirationTimeInMinutes) { var message = _pipeline.CreateMessage(); @@ -1112,6 +1352,23 @@ public Response RetrieveBootDiagnosticsData(s } } + internal RequestUriBuilder CreatePerformMaintenanceRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualmachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/performMaintenance", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePerformMaintenanceRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -1188,6 +1445,23 @@ public Response PerformMaintenance(string subscriptionId, string resourceGroupNa } } + internal RequestUriBuilder CreateSimulateEvictionRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/virtualMachines/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/simulateEviction", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateSimulateEvictionRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -1262,6 +1536,14 @@ public Response SimulateEviction(string subscriptionId, string resourceGroupName } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string virtualMachineScaleSetName, string filter, string select, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string virtualMachineScaleSetName, string filter, string select, string expand) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetsRestOperations.cs b/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetsRestOperations.cs index cc7d8e80e87..ea577668690 100644 --- a/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetsRestOperations.cs +++ b/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachineScaleSetsRestOperations.cs @@ -37,6 +37,20 @@ public VirtualMachineScaleSetsRestOperations(HttpPipeline pipeline, string appli _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetData data) { var message = _pipeline.CreateMessage(); @@ -115,6 +129,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetPatch patch) { var message = _pipeline.CreateMessage(); @@ -191,6 +219,20 @@ public Response Update(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -262,6 +304,20 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -344,6 +400,21 @@ public Response Get(string subscriptionId, string re } } + internal RequestUriBuilder CreateDeallocateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/deallocate", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeallocateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -423,6 +494,21 @@ public Response Deallocate(string subscriptionId, string resourceGroupName, stri } } + internal RequestUriBuilder CreateDeleteInstancesRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceRequiredIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/delete", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteInstancesRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceRequiredIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -501,6 +587,21 @@ public Response DeleteInstances(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateGetInstanceViewRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/instanceView", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetInstanceViewRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -580,6 +681,19 @@ public Response GetInstanceView(string subsc } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -653,6 +767,17 @@ public Response List(string subscriptionId, st } } + internal RequestUriBuilder CreateListAllRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListAllRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -720,6 +845,21 @@ public Response ListAll(string subscri } } + internal RequestUriBuilder CreateListSkusRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/skus", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListSkusRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -799,6 +939,21 @@ public Response ListSkus(string subscripti } } + internal RequestUriBuilder CreateGetOSUpgradeHistoryRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/osUpgradeHistory", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetOSUpgradeHistoryRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -878,6 +1033,25 @@ public Response GetOSUpgradeHistory( } } + internal RequestUriBuilder CreatePowerOffRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds, bool? skipShutdown) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/poweroff", false); + if (skipShutdown != null) + { + uri.AppendQuery("skipShutdown", skipShutdown.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePowerOffRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds, bool? skipShutdown) { var message = _pipeline.CreateMessage(); @@ -963,6 +1137,21 @@ public Response PowerOff(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateRestartRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/restart", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRestartRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -1042,6 +1231,21 @@ public Response Restart(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateStartRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/start", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateStartRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -1121,6 +1325,21 @@ public Response Start(string subscriptionId, string resourceGroupName, string vm } } + internal RequestUriBuilder CreateRedeployRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/redeploy", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRedeployRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -1200,6 +1419,21 @@ public Response Redeploy(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreatePerformMaintenanceRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/performMaintenance", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePerformMaintenanceRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -1279,6 +1513,21 @@ public Response PerformMaintenance(string subscriptionId, string resourceGroupNa } } + internal RequestUriBuilder CreateUpdateInstancesRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceRequiredIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/manualupgrade", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateInstancesRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceRequiredIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -1357,6 +1606,21 @@ public Response UpdateInstances(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateReimageRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetReimageContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/reimage", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateReimageRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetReimageContent content) { var message = _pipeline.CreateMessage(); @@ -1436,6 +1700,21 @@ public Response Reimage(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateReimageAllRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/reimageall", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateReimageAllRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVmInstanceIds vmInstanceIds) { var message = _pipeline.CreateMessage(); @@ -1515,6 +1794,22 @@ public Response ReimageAll(string subscriptionId, string resourceGroupName, stri } } + internal RequestUriBuilder CreateForceRecoveryServiceFabricPlatformUpdateDomainWalkRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, int platformUpdateDomain) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/forceRecoveryServiceFabricPlatformUpdateDomainWalk", false); + uri.AppendQuery("api-version", _apiVersion, true); + uri.AppendQuery("platformUpdateDomain", platformUpdateDomain, true); + return uri; + } + internal HttpMessage CreateForceRecoveryServiceFabricPlatformUpdateDomainWalkRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, int platformUpdateDomain) { var message = _pipeline.CreateMessage(); @@ -1597,6 +1892,21 @@ public Response ForceRecoveryServiceFabricPlatformUpdateDo } } + internal RequestUriBuilder CreateConvertToSinglePlacementGroupRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VmScaleSetConvertToSinglePlacementGroupContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/convertToSinglePlacementGroup", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateConvertToSinglePlacementGroupRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VmScaleSetConvertToSinglePlacementGroupContent content) { var message = _pipeline.CreateMessage(); @@ -1673,6 +1983,21 @@ public Response ConvertToSinglePlacementGroup(string subscriptionId, string reso } } + internal RequestUriBuilder CreateSetOrchestrationServiceStateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, OrchestrationServiceStateContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/setOrchestrationServiceState", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateSetOrchestrationServiceStateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, OrchestrationServiceStateContent content) { var message = _pipeline.CreateMessage(); @@ -1751,6 +2076,14 @@ public Response SetOrchestrationServiceState(string subscriptionId, string resou } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -1823,6 +2156,14 @@ public Response ListNextPage(string nextLink, } } + internal RequestUriBuilder CreateListAllNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListAllNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -1891,6 +2232,14 @@ public Response ListAllNextPage(string } } + internal RequestUriBuilder CreateListSkusNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListSkusNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); @@ -1967,6 +2316,14 @@ public Response ListSkusNextPage(string ne } } + internal RequestUriBuilder CreateGetOSUpgradeHistoryNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string vmScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateGetOSUpgradeHistoryNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string vmScaleSetName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachinesRestOperations.cs b/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachinesRestOperations.cs index 32885c2581a..5224fcd3cc5 100644 --- a/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachinesRestOperations.cs +++ b/test/TestProjects/MgmtAcronymMapping/src/Generated/RestOperations/VirtualMachinesRestOperations.cs @@ -37,6 +37,19 @@ public VirtualMachinesRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListByLocationRequestUri(string subscriptionId, AzureLocation location) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/virtualMachines", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByLocationRequest(string subscriptionId, AzureLocation location) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,21 @@ public Response ListByLocation(string subscriptionId, } } + internal RequestUriBuilder CreateCaptureRequestUri(string subscriptionId, string resourceGroupName, string vmName, VirtualMachineCaptureContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/capture", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCaptureRequest(string subscriptionId, string resourceGroupName, string vmName, VirtualMachineCaptureContent content) { var message = _pipeline.CreateMessage(); @@ -187,6 +215,20 @@ public Response Capture(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmName, VirtualMachineData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vmName, VirtualMachineData data) { var message = _pipeline.CreateMessage(); @@ -265,6 +307,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmName, VirtualMachinePatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string vmName, VirtualMachinePatch patch) { var message = _pipeline.CreateMessage(); @@ -343,6 +399,24 @@ public Response Update(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmName, bool? forceDeletion) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + if (forceDeletion != null) + { + uri.AppendQuery("forceDeletion", forceDeletion.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmName, bool? forceDeletion) { var message = _pipeline.CreateMessage(); @@ -420,6 +494,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmName, InstanceViewType? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmName, InstanceViewType? expand) { var message = _pipeline.CreateMessage(); @@ -508,6 +600,21 @@ public Response Get(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateInstanceViewRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/instanceView", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateInstanceViewRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -587,6 +694,19 @@ public Response InstanceView(string subscriptionId, } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -660,6 +780,21 @@ public Response List(string subscriptionId, string res } } + internal RequestUriBuilder CreateListAllRequestUri(string subscriptionId, string statusOnly) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (statusOnly != null) + { + uri.AppendQuery("statusOnly", statusOnly, true); + } + return uri; + } + internal HttpMessage CreateListAllRequest(string subscriptionId, string statusOnly) { var message = _pipeline.CreateMessage(); @@ -733,6 +868,21 @@ public Response ListAll(string subscriptionId, string } } + internal RequestUriBuilder CreateListAvailableSizesRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/vmSizes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListAvailableSizesRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -812,6 +962,25 @@ public Response ListAvailableSizes(string subscrip } } + internal RequestUriBuilder CreatePowerOffRequestUri(string subscriptionId, string resourceGroupName, string vmName, bool? skipShutdown) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/powerOff", false); + if (skipShutdown != null) + { + uri.AppendQuery("skipShutdown", skipShutdown.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePowerOffRequest(string subscriptionId, string resourceGroupName, string vmName, bool? skipShutdown) { var message = _pipeline.CreateMessage(); @@ -888,6 +1057,21 @@ public Response PowerOff(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateReapplyRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/reapply", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateReapplyRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -959,6 +1143,21 @@ public Response Reapply(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateRestartRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/restart", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRestartRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -1029,6 +1228,21 @@ public Response Restart(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateStartRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/start", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateStartRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -1099,6 +1313,21 @@ public Response Start(string subscriptionId, string resourceGroupName, string vm } } + internal RequestUriBuilder CreateRedeployRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/redeploy", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRedeployRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -1169,6 +1398,21 @@ public Response Redeploy(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateReimageRequestUri(string subscriptionId, string resourceGroupName, string vmName, VirtualMachineReimageContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/reimage", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateReimageRequest(string subscriptionId, string resourceGroupName, string vmName, VirtualMachineReimageContent content) { var message = _pipeline.CreateMessage(); @@ -1248,6 +1492,25 @@ public Response Reimage(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateRetrieveBootDiagnosticsDataRequestUri(string subscriptionId, string resourceGroupName, string vmName, int? sasUriExpirationTimeInMinutes) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/retrieveBootDiagnosticsData", false); + if (sasUriExpirationTimeInMinutes != null) + { + uri.AppendQuery("sasUriExpirationTimeInMinutes", sasUriExpirationTimeInMinutes.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateRetrieveBootDiagnosticsDataRequest(string subscriptionId, string resourceGroupName, string vmName, int? sasUriExpirationTimeInMinutes) { var message = _pipeline.CreateMessage(); @@ -1333,6 +1596,21 @@ public Response RetrieveBootDiagnosticsData(s } } + internal RequestUriBuilder CreatePerformMaintenanceRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/performMaintenance", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePerformMaintenanceRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -1403,6 +1681,21 @@ public Response PerformMaintenance(string subscriptionId, string resourceGroupNa } } + internal RequestUriBuilder CreateSimulateEvictionRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/simulateEviction", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateSimulateEvictionRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -1471,6 +1764,21 @@ public Response SimulateEviction(string subscriptionId, string resourceGroupName } } + internal RequestUriBuilder CreateAssessPatchesRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/assessPatches", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateAssessPatchesRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); @@ -1542,6 +1850,14 @@ public Response AssessPatches(string subscriptionId, string resourceGroupName, s } } + internal RequestUriBuilder CreateListByLocationNextPageRequestUri(string nextLink, string subscriptionId, AzureLocation location) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByLocationNextPageRequest(string nextLink, string subscriptionId, AzureLocation location) { var message = _pipeline.CreateMessage(); @@ -1612,6 +1928,14 @@ public Response ListByLocationNextPage(string nextLink } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -1684,6 +2008,14 @@ public Response ListNextPage(string nextLink, string s } } + internal RequestUriBuilder CreateListAllNextPageRequestUri(string nextLink, string subscriptionId, string statusOnly) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListAllNextPageRequest(string nextLink, string subscriptionId, string statusOnly) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtCollectionParent/src/Generated/RestOperations/ComputeManagementRestOperations.cs b/test/TestProjects/MgmtCollectionParent/src/Generated/RestOperations/ComputeManagementRestOperations.cs index 5fa7a180add..72ed2d4c03c 100644 --- a/test/TestProjects/MgmtCollectionParent/src/Generated/RestOperations/ComputeManagementRestOperations.cs +++ b/test/TestProjects/MgmtCollectionParent/src/Generated/RestOperations/ComputeManagementRestOperations.cs @@ -37,6 +37,21 @@ public ComputeManagementRestOperations(HttpPipeline pipeline, string application _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListOrderAtSubscriptionLevelRequestUri(string subscriptionId, string skipToken) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.EdgeOrder/orders", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (skipToken != null) + { + uri.AppendQuery("$skipToken", skipToken, true); + } + return uri; + } + internal HttpMessage CreateListOrderAtSubscriptionLevelRequest(string subscriptionId, string skipToken) { var message = _pipeline.CreateMessage(); @@ -110,6 +125,23 @@ public Response ListOrderAtSubscriptionLevel(string subscript } } + internal RequestUriBuilder CreateListOrderAtResourceGroupLevelRequestUri(string subscriptionId, string resourceGroupName, string skipToken) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.EdgeOrder/orders", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (skipToken != null) + { + uri.AppendQuery("$skipToken", skipToken, true); + } + return uri; + } + internal HttpMessage CreateListOrderAtResourceGroupLevelRequest(string subscriptionId, string resourceGroupName, string skipToken) { var message = _pipeline.CreateMessage(); @@ -189,6 +221,22 @@ public Response ListOrderAtResourceGroupLevel(string subscrip } } + internal RequestUriBuilder CreateGetOrderByNameRequestUri(string subscriptionId, string resourceGroupName, string location, string orderName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.EdgeOrder/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/orders/", false); + uri.AppendPath(orderName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetOrderByNameRequest(string subscriptionId, string resourceGroupName, string location, string orderName) { var message = _pipeline.CreateMessage(); @@ -277,6 +325,14 @@ public Response GetOrderByName(string subscriptionId, string } } + internal RequestUriBuilder CreateListOrderAtSubscriptionLevelNextPageRequestUri(string nextLink, string subscriptionId, string skipToken) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListOrderAtSubscriptionLevelNextPageRequest(string nextLink, string subscriptionId, string skipToken) { var message = _pipeline.CreateMessage(); @@ -347,6 +403,14 @@ public Response ListOrderAtSubscriptionLevelNextPage(string n } } + internal RequestUriBuilder CreateListOrderAtResourceGroupLevelNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string skipToken) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListOrderAtResourceGroupLevelNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string skipToken) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtConstants/src/Generated/LongRunningOperation/MgmtConstantsArmOperation.cs b/test/TestProjects/MgmtConstants/src/Generated/LongRunningOperation/MgmtConstantsArmOperation.cs index f0f96aa7dee..b9aa9e60fad 100644 --- a/test/TestProjects/MgmtConstants/src/Generated/LongRunningOperation/MgmtConstantsArmOperation.cs +++ b/test/TestProjects/MgmtConstants/src/Generated/LongRunningOperation/MgmtConstantsArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtConstantsArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtConstantsArmOperation for mocking. protected MgmtConstantsArmOperation() { } - internal MgmtConstantsArmOperation(Response response) + internal MgmtConstantsArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtConstantsArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtConstantsArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtConstants/src/Generated/LongRunningOperation/MgmtConstantsArmOperationOfT.cs b/test/TestProjects/MgmtConstants/src/Generated/LongRunningOperation/MgmtConstantsArmOperationOfT.cs index ff44471a402..b84e8c37d28 100644 --- a/test/TestProjects/MgmtConstants/src/Generated/LongRunningOperation/MgmtConstantsArmOperationOfT.cs +++ b/test/TestProjects/MgmtConstants/src/Generated/LongRunningOperation/MgmtConstantsArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtConstantsArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtConstantsArmOperation for mocking. protected MgmtConstantsArmOperation() { } - internal MgmtConstantsArmOperation(Response response) + internal MgmtConstantsArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtConstantsArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtConstantsArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtConstantsArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtConstants/src/Generated/RestOperations/OptionalsRestOperations.cs b/test/TestProjects/MgmtConstants/src/Generated/RestOperations/OptionalsRestOperations.cs index 733d010d2b1..1143df00102 100644 --- a/test/TestProjects/MgmtConstants/src/Generated/RestOperations/OptionalsRestOperations.cs +++ b/test/TestProjects/MgmtConstants/src/Generated/RestOperations/OptionalsRestOperations.cs @@ -37,6 +37,30 @@ public OptionalsRestOperations(HttpPipeline pipeline, string applicationId, Uri _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string name, OptionalMachineData data, StringConstant? optionalStringQuery, bool? optionalBooleanQuery) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Constant/optionalMachines/", false); + uri.AppendPath(name, true); + uri.AppendQuery("required-string-query", "default", true); + uri.AppendQuery("required-boolean-query", true, true); + if (optionalStringQuery != null) + { + uri.AppendQuery("optional-string-query", optionalStringQuery.Value.ToString(), true); + } + if (optionalBooleanQuery != null) + { + uri.AppendQuery("optional-boolean-query", optionalBooleanQuery.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string name, OptionalMachineData data, StringConstant? optionalStringQuery, bool? optionalBooleanQuery) { var message = _pipeline.CreateMessage(); @@ -129,6 +153,30 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string name, OptionalMachinePatch patch, IntConstant? optionalIntQuery, FloatConstant? optionalFloatQuery) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Constant/optionalMachines/", false); + uri.AppendPath(name, true); + uri.AppendQuery("required-int-query", 0, true); + uri.AppendQuery("required-float-query", 3.14F, true); + if (optionalIntQuery != null) + { + uri.AppendQuery("optional-int-query", optionalIntQuery.Value.ToSerialInt32(), true); + } + if (optionalFloatQuery != null) + { + uri.AppendQuery("optional-float-query", optionalFloatQuery.Value.ToSerialSingle(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string name, OptionalMachinePatch patch, IntConstant? optionalIntQuery, FloatConstant? optionalFloatQuery) { var message = _pipeline.CreateMessage(); @@ -221,6 +269,24 @@ public Response Update(string subscriptionId, string resourceGroupName, string n } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string name, bool? forceDeletion) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Constant/optionalMachines/", false); + uri.AppendPath(name, true); + if (forceDeletion != null) + { + uri.AppendQuery("forceDeletion", forceDeletion.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string name, bool? forceDeletion) { var message = _pipeline.CreateMessage(); @@ -298,6 +364,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string n } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name, OptionalMachineExpand? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Constant/optionalMachines/", false); + uri.AppendPath(name, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name, OptionalMachineExpand? expand) { var message = _pipeline.CreateMessage(); @@ -386,6 +470,19 @@ public Response Get(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Constant/optionalMachines", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -459,6 +556,21 @@ public Response List(string subscriptionId, string re } } + internal RequestUriBuilder CreateListAllRequestUri(string subscriptionId, string statusOnly) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Constant/optionalMachines", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (statusOnly != null) + { + uri.AppendQuery("statusOnly", statusOnly, true); + } + return uri; + } + internal HttpMessage CreateListAllRequest(string subscriptionId, string statusOnly) { var message = _pipeline.CreateMessage(); @@ -532,6 +644,14 @@ public Response ListAll(string subscriptionId, string } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -604,6 +724,14 @@ public Response ListNextPage(string nextLink, string } } + internal RequestUriBuilder CreateListAllNextPageRequestUri(string nextLink, string subscriptionId, string statusOnly) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListAllNextPageRequest(string nextLink, string subscriptionId, string statusOnly) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtCustomizations/src/Generated/LongRunningOperation/MgmtCustomizationsArmOperation.cs b/test/TestProjects/MgmtCustomizations/src/Generated/LongRunningOperation/MgmtCustomizationsArmOperation.cs index 40bb167f154..26b3c1d8541 100644 --- a/test/TestProjects/MgmtCustomizations/src/Generated/LongRunningOperation/MgmtCustomizationsArmOperation.cs +++ b/test/TestProjects/MgmtCustomizations/src/Generated/LongRunningOperation/MgmtCustomizationsArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtCustomizationsArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtCustomizationsArmOperation for mocking. protected MgmtCustomizationsArmOperation() { } - internal MgmtCustomizationsArmOperation(Response response) + internal MgmtCustomizationsArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtCustomizationsArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtCustomizationsArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtCustomizations/src/Generated/LongRunningOperation/MgmtCustomizationsArmOperationOfT.cs b/test/TestProjects/MgmtCustomizations/src/Generated/LongRunningOperation/MgmtCustomizationsArmOperationOfT.cs index 3e20b546e44..a018d6e4df5 100644 --- a/test/TestProjects/MgmtCustomizations/src/Generated/LongRunningOperation/MgmtCustomizationsArmOperationOfT.cs +++ b/test/TestProjects/MgmtCustomizations/src/Generated/LongRunningOperation/MgmtCustomizationsArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtCustomizationsArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtCustomizationsArmOperation for mocking. protected MgmtCustomizationsArmOperation() { } - internal MgmtCustomizationsArmOperation(Response response) + internal MgmtCustomizationsArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtCustomizationsArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtCustomizationsArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtCustomizationsArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtCustomizations/src/Generated/PetStoreResource.Serialization.cs b/test/TestProjects/MgmtCustomizations/src/Generated/PetStoreResource.Serialization.cs new file mode 100644 index 00000000000..cd02afc3863 --- /dev/null +++ b/test/TestProjects/MgmtCustomizations/src/Generated/PetStoreResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace MgmtCustomizations +{ + public partial class PetStoreResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + PetStoreData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + PetStoreData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/test/TestProjects/MgmtCustomizations/src/Generated/RestOperations/PetStoresRestOperations.cs b/test/TestProjects/MgmtCustomizations/src/Generated/RestOperations/PetStoresRestOperations.cs index 1f23dd59e83..0f0f15dc70c 100644 --- a/test/TestProjects/MgmtCustomizations/src/Generated/RestOperations/PetStoresRestOperations.cs +++ b/test/TestProjects/MgmtCustomizations/src/Generated/RestOperations/PetStoresRestOperations.cs @@ -37,6 +37,19 @@ public PetStoresRestOperations(HttpPipeline pipeline, string applicationId, Uri _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Pets/petStore", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -110,6 +123,20 @@ public Response List(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Pets/petStore/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Get(string subscriptionId, string resourceGroupNam } } + internal RequestUriBuilder CreateCreateRequestUri(string subscriptionId, string resourceGroupName, string name, PetStoreData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Pets/petStore/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateRequest(string subscriptionId, string resourceGroupName, string name, PetStoreData data) { var message = _pipeline.CreateMessage(); @@ -272,6 +313,20 @@ public Response Create(string subscriptionId, string resourceGroupName, string n } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Pets/petStore/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtDiscriminator/src/Generated/ArtifactCollection.cs b/test/TestProjects/MgmtDiscriminator/src/Generated/ArtifactCollection.cs index 2b070e78256..27518704003 100644 --- a/test/TestProjects/MgmtDiscriminator/src/Generated/ArtifactCollection.cs +++ b/test/TestProjects/MgmtDiscriminator/src/Generated/ArtifactCollection.cs @@ -80,7 +80,9 @@ public virtual async Task> CreateOrUpdateAsync(Wa try { var response = await _artifactRestClient.CreateOrUpdateAsync(Id, artifactName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtDiscriminatorArmOperation(Response.FromValue(new ArtifactResource(Client, response), response.GetRawResponse())); + var uri = _artifactRestClient.CreateCreateOrUpdateRequestUri(Id, artifactName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtDiscriminatorArmOperation(Response.FromValue(new ArtifactResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -129,7 +131,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil try { var response = _artifactRestClient.CreateOrUpdate(Id, artifactName, data, cancellationToken); - var operation = new MgmtDiscriminatorArmOperation(Response.FromValue(new ArtifactResource(Client, response), response.GetRawResponse())); + var uri = _artifactRestClient.CreateCreateOrUpdateRequestUri(Id, artifactName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtDiscriminatorArmOperation(Response.FromValue(new ArtifactResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtDiscriminator/src/Generated/ArtifactResource.Serialization.cs b/test/TestProjects/MgmtDiscriminator/src/Generated/ArtifactResource.Serialization.cs new file mode 100644 index 00000000000..cdb07b48103 --- /dev/null +++ b/test/TestProjects/MgmtDiscriminator/src/Generated/ArtifactResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace MgmtDiscriminator +{ + public partial class ArtifactResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + ArtifactData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + ArtifactData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/test/TestProjects/MgmtDiscriminator/src/Generated/ArtifactResource.cs b/test/TestProjects/MgmtDiscriminator/src/Generated/ArtifactResource.cs index b2f47978e3e..71cf40b482b 100644 --- a/test/TestProjects/MgmtDiscriminator/src/Generated/ArtifactResource.cs +++ b/test/TestProjects/MgmtDiscriminator/src/Generated/ArtifactResource.cs @@ -198,7 +198,9 @@ public virtual async Task> DeleteAsync(WaitUntil try { var response = await _artifactRestClient.DeleteAsync(Id.Parent, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtDiscriminatorArmOperation(Response.FromValue(new ArtifactResource(Client, response), response.GetRawResponse())); + var uri = _artifactRestClient.CreateDeleteRequestUri(Id.Parent, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtDiscriminatorArmOperation(Response.FromValue(new ArtifactResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -240,7 +242,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, Cancel try { var response = _artifactRestClient.Delete(Id.Parent, Id.Name, cancellationToken); - var operation = new MgmtDiscriminatorArmOperation(Response.FromValue(new ArtifactResource(Client, response), response.GetRawResponse())); + var uri = _artifactRestClient.CreateDeleteRequestUri(Id.Parent, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtDiscriminatorArmOperation(Response.FromValue(new ArtifactResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; @@ -286,7 +290,9 @@ public virtual async Task> UpdateAsync(WaitUntil try { var response = await _artifactRestClient.CreateOrUpdateAsync(Id.Parent, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtDiscriminatorArmOperation(Response.FromValue(new ArtifactResource(Client, response), response.GetRawResponse())); + var uri = _artifactRestClient.CreateCreateOrUpdateRequestUri(Id.Parent, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtDiscriminatorArmOperation(Response.FromValue(new ArtifactResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -332,7 +338,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, Artifa try { var response = _artifactRestClient.CreateOrUpdate(Id.Parent, Id.Name, data, cancellationToken); - var operation = new MgmtDiscriminatorArmOperation(Response.FromValue(new ArtifactResource(Client, response), response.GetRawResponse())); + var uri = _artifactRestClient.CreateCreateOrUpdateRequestUri(Id.Parent, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtDiscriminatorArmOperation(Response.FromValue(new ArtifactResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtDiscriminator/src/Generated/DeliveryRuleResource.Serialization.cs b/test/TestProjects/MgmtDiscriminator/src/Generated/DeliveryRuleResource.Serialization.cs new file mode 100644 index 00000000000..71975439a0d --- /dev/null +++ b/test/TestProjects/MgmtDiscriminator/src/Generated/DeliveryRuleResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace MgmtDiscriminator +{ + public partial class DeliveryRuleResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + DeliveryRuleData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + DeliveryRuleData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/test/TestProjects/MgmtDiscriminator/src/Generated/LongRunningOperation/MgmtDiscriminatorArmOperation.cs b/test/TestProjects/MgmtDiscriminator/src/Generated/LongRunningOperation/MgmtDiscriminatorArmOperation.cs index 1a51e0e798c..225363e161c 100644 --- a/test/TestProjects/MgmtDiscriminator/src/Generated/LongRunningOperation/MgmtDiscriminatorArmOperation.cs +++ b/test/TestProjects/MgmtDiscriminator/src/Generated/LongRunningOperation/MgmtDiscriminatorArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtDiscriminatorArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtDiscriminatorArmOperation for mocking. protected MgmtDiscriminatorArmOperation() { } - internal MgmtDiscriminatorArmOperation(Response response) + internal MgmtDiscriminatorArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtDiscriminatorArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtDiscriminatorArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtDiscriminator/src/Generated/LongRunningOperation/MgmtDiscriminatorArmOperationOfT.cs b/test/TestProjects/MgmtDiscriminator/src/Generated/LongRunningOperation/MgmtDiscriminatorArmOperationOfT.cs index 8bce61ad4eb..2accb03b7a1 100644 --- a/test/TestProjects/MgmtDiscriminator/src/Generated/LongRunningOperation/MgmtDiscriminatorArmOperationOfT.cs +++ b/test/TestProjects/MgmtDiscriminator/src/Generated/LongRunningOperation/MgmtDiscriminatorArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtDiscriminatorArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtDiscriminatorArmOperation for mocking. protected MgmtDiscriminatorArmOperation() { } - internal MgmtDiscriminatorArmOperation(Response response) + internal MgmtDiscriminatorArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtDiscriminatorArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtDiscriminatorArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtDiscriminatorArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtDiscriminator/src/Generated/RestOperations/ArtifactsRestOperations.cs b/test/TestProjects/MgmtDiscriminator/src/Generated/RestOperations/ArtifactsRestOperations.cs index 5c4d7c7cd26..1534d6e2449 100644 --- a/test/TestProjects/MgmtDiscriminator/src/Generated/RestOperations/ArtifactsRestOperations.cs +++ b/test/TestProjects/MgmtDiscriminator/src/Generated/RestOperations/ArtifactsRestOperations.cs @@ -37,6 +37,18 @@ public ArtifactsRestOperations(HttpPipeline pipeline, string applicationId, Uri _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string resourceScope, string artifactName, ArtifactData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(resourceScope, false); + uri.AppendPath("/providers/Microsoft.Blueprint/artifacts/", false); + uri.AppendPath(artifactName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string resourceScope, string artifactName, ArtifactData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,18 @@ public Response CreateOrUpdate(string resourceScope, string artifa } } + internal RequestUriBuilder CreateGetRequestUri(string resourceScope, string artifactName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(resourceScope, false); + uri.AppendPath("/providers/Microsoft.Blueprint/artifacts/", false); + uri.AppendPath(artifactName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string resourceScope, string artifactName) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,18 @@ public Response Get(string resourceScope, string artifactName, Can } } + internal RequestUriBuilder CreateDeleteRequestUri(string resourceScope, string artifactName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(resourceScope, false); + uri.AppendPath("/providers/Microsoft.Blueprint/artifacts/", false); + uri.AppendPath(artifactName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string resourceScope, string artifactName) { var message = _pipeline.CreateMessage(); @@ -269,6 +305,17 @@ public Response Delete(string resourceScope, string artifactName, } } + internal RequestUriBuilder CreateListRequestUri(string resourceScope) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(resourceScope, false); + uri.AppendPath("/providers/Microsoft.Blueprint/artifacts", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string resourceScope) { var message = _pipeline.CreateMessage(); @@ -334,6 +381,14 @@ public Response List(string resourceScope, CancellationToken cance } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string resourceScope) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string resourceScope) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtDiscriminator/src/Generated/RestOperations/DeliveryRulesRestOperations.cs b/test/TestProjects/MgmtDiscriminator/src/Generated/RestOperations/DeliveryRulesRestOperations.cs index 950251b5e2c..c7965edef1d 100644 --- a/test/TestProjects/MgmtDiscriminator/src/Generated/RestOperations/DeliveryRulesRestOperations.cs +++ b/test/TestProjects/MgmtDiscriminator/src/Generated/RestOperations/DeliveryRulesRestOperations.cs @@ -37,6 +37,19 @@ public DeliveryRulesRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Cdn/deliveryRules", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -110,6 +123,20 @@ public Response List(string subscriptionId, string resou } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Cdn/deliveryRules/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Get(string subscriptionId, string resourceGrou } } + internal RequestUriBuilder CreateCreateRequestUri(string subscriptionId, string resourceGroupName, string name, DeliveryRuleData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Cdn/deliveryRules/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateRequest(string subscriptionId, string resourceGroupName, string name, DeliveryRuleData data) { var message = _pipeline.CreateMessage(); @@ -272,6 +313,20 @@ public Response Create(string subscriptionId, string resourceGroupName, string n } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Cdn/deliveryRules/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -344,6 +399,21 @@ public Response Delete(string subscriptionId, string resourceGroupName, string n } } + internal RequestUriBuilder CreatePostRequestUri(string subscriptionId, string resourceGroupName, string name, DerivedModel body) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Cdn/deliveryRules/", false); + uri.AppendPath(name, true); + uri.AppendPath("/post", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePostRequest(string subscriptionId, string resourceGroupName, string name, DerivedModel body) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/AzureResourceFlattenModel1Collection.cs b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/AzureResourceFlattenModel1Collection.cs index cf9e6dccbef..aa2a71fa0bd 100644 --- a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/AzureResourceFlattenModel1Collection.cs +++ b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/AzureResourceFlattenModel1Collection.cs @@ -91,7 +91,9 @@ public virtual async Task> Crea try { var response = await _azureResourceFlattenModel1RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new AzureResourceFlattenModel1Resource(Client, response), response.GetRawResponse())); + var uri = _azureResourceFlattenModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new AzureResourceFlattenModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(W try { var response = _azureResourceFlattenModel1RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken); - var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new AzureResourceFlattenModel1Resource(Client, response), response.GetRawResponse())); + var uri = _azureResourceFlattenModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new AzureResourceFlattenModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/AzureResourceFlattenModel1Resource.cs b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/AzureResourceFlattenModel1Resource.cs index 799130bb8de..fbfff60cd2f 100644 --- a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/AzureResourceFlattenModel1Resource.cs +++ b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/AzureResourceFlattenModel1Resource.cs @@ -205,7 +205,9 @@ public virtual async Task> Upda try { var response = await _azureResourceFlattenModel1RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new AzureResourceFlattenModel1Resource(Client, response), response.GetRawResponse())); + var uri = _azureResourceFlattenModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new AzureResourceFlattenModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -251,7 +253,9 @@ public virtual ArmOperation Update(WaitUntil try { var response = _azureResourceFlattenModel1RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new AzureResourceFlattenModel1Resource(Client, response), response.GetRawResponse())); + var uri = _azureResourceFlattenModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new AzureResourceFlattenModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel2Collection.cs b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel2Collection.cs index 48d020988d0..5e64a79a447 100644 --- a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel2Collection.cs +++ b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel2Collection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAsyn try { var response = await _customModel2RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, name, foo, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel2Resource(Client, response), response.GetRawResponse())); + var uri = _customModel2RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, foo); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel2Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitU try { var response = _customModel2RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, name, foo, cancellationToken); - var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel2Resource(Client, response), response.GetRawResponse())); + var uri = _customModel2RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, foo); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel2Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel2Resource.cs b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel2Resource.cs index 05f2d398d22..5772f0793af 100644 --- a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel2Resource.cs +++ b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel2Resource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync(WaitUn try { var response = await _customModel2RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, foo, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel2Resource(Client, response), response.GetRawResponse())); + var uri = _customModel2RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, foo); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel2Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -244,7 +246,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, st try { var response = _customModel2RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, foo, cancellationToken); - var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel2Resource(Client, response), response.GetRawResponse())); + var uri = _customModel2RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, foo); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel2Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel3Collection.cs b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel3Collection.cs index 16ecce49f13..5e9d693ef08 100644 --- a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel3Collection.cs +++ b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel3Collection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateAsyn try { var response = await _customModel3RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel3Resource(Client, response), response.GetRawResponse())); + var uri = _customModel3RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel3Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitU try { var response = _customModel3RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken); - var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel3Resource(Client, response), response.GetRawResponse())); + var uri = _customModel3RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel3Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel3Resource.cs b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel3Resource.cs index 3309b8dd630..ae063393b02 100644 --- a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel3Resource.cs +++ b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/CustomModel3Resource.cs @@ -204,7 +204,9 @@ public virtual async Task> UpdateAsync(WaitUn try { var response = await _customModel3RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel3Resource(Client, response), response.GetRawResponse())); + var uri = _customModel3RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel3Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -250,7 +252,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, Cu try { var response = _customModel3RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel3Resource(Client, response), response.GetRawResponse())); + var uri = _customModel3RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchFlattenInheritanceArmOperation(Response.FromValue(new CustomModel3Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/LongRunningOperation/MgmtExactMatchFlattenInheritanceArmOperationOfT.cs b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/LongRunningOperation/MgmtExactMatchFlattenInheritanceArmOperationOfT.cs index ce2ad4790d7..e6d66964ee9 100644 --- a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/LongRunningOperation/MgmtExactMatchFlattenInheritanceArmOperationOfT.cs +++ b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/LongRunningOperation/MgmtExactMatchFlattenInheritanceArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtExactMatchFlattenInheritanceArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtExactMatchFlattenInheritanceArmOperation for mocking. protected MgmtExactMatchFlattenInheritanceArmOperation() { } - internal MgmtExactMatchFlattenInheritanceArmOperation(Response response) + internal MgmtExactMatchFlattenInheritanceArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtExactMatchFlattenInheritanceArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtExactMatchFlattenInheritanceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtExactMatchFlattenInheritanceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel1SRestOperations.cs b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel1SRestOperations.cs index 1e9d7fdf957..24f742e23ea 100644 --- a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel1SRestOperations.cs +++ b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel1SRestOperations.cs @@ -37,6 +37,19 @@ public AzureResourceFlattenModel1SRestOperations(HttpPipeline pipeline, string a _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel1s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -110,6 +123,20 @@ public Response List(string subscriptionId } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, AzureResourceFlattenModel1Data data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel1s/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, AzureResourceFlattenModel1Data data) { var message = _pipeline.CreateMessage(); @@ -196,6 +223,20 @@ public Response Put(string subscriptionId, strin } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel1s/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel2SRestOperations.cs b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel2SRestOperations.cs index f6550758c43..12d7cf6fc07 100644 --- a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel2SRestOperations.cs +++ b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel2SRestOperations.cs @@ -37,6 +37,19 @@ public AzureResourceFlattenModel2SRestOperations(HttpPipeline pipeline, string a _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel2s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -110,6 +123,20 @@ public Response List(string subscriptionId } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, AzureResourceFlattenModel2 azureResourceFlattenModel2) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel2s/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, AzureResourceFlattenModel2 azureResourceFlattenModel2) { var message = _pipeline.CreateMessage(); @@ -196,6 +223,20 @@ public Response Put(string subscriptionId, string re } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel2s/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel3SRestOperations.cs b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel3SRestOperations.cs index 6a3d7e11e87..b6c1ee72639 100644 --- a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel3SRestOperations.cs +++ b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel3SRestOperations.cs @@ -37,6 +37,19 @@ public AzureResourceFlattenModel3SRestOperations(HttpPipeline pipeline, string a _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel3s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -110,6 +123,20 @@ public Response List(string subscriptionId } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, AzureResourceFlattenModel3 azureResourceFlattenModel3) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel3s/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, AzureResourceFlattenModel3 azureResourceFlattenModel3) { var message = _pipeline.CreateMessage(); @@ -196,6 +223,20 @@ public Response Put(string subscriptionId, string re } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel3s/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel4SRestOperations.cs b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel4SRestOperations.cs index a4426d0ce85..c793c5a00ed 100644 --- a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel4SRestOperations.cs +++ b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel4SRestOperations.cs @@ -37,6 +37,19 @@ public AzureResourceFlattenModel4SRestOperations(HttpPipeline pipeline, string a _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel4s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -110,6 +123,20 @@ public Response List(string subscriptionId } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, AzureResourceFlattenModel4 azureResourceFlattenModel4) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel4s/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, AzureResourceFlattenModel4 azureResourceFlattenModel4) { var message = _pipeline.CreateMessage(); @@ -196,6 +223,20 @@ public Response Put(string subscriptionId, string re } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel4s/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel5SRestOperations.cs b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel5SRestOperations.cs index 2e4866cef00..f587e0315de 100644 --- a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel5SRestOperations.cs +++ b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/AzureResourceFlattenModel5SRestOperations.cs @@ -37,6 +37,19 @@ public AzureResourceFlattenModel5SRestOperations(HttpPipeline pipeline, string a _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel5s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -110,6 +123,20 @@ public Response List(string subscriptionId } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, int? foo) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel5s/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, int? foo) { var message = _pipeline.CreateMessage(); @@ -198,6 +225,20 @@ public Response Put(string subscriptionId, string re } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/azureResourceFlattenModel5s/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/CustomModel2SRestOperations.cs b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/CustomModel2SRestOperations.cs index f398d7184a2..62fb0feb208 100644 --- a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/CustomModel2SRestOperations.cs +++ b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/CustomModel2SRestOperations.cs @@ -37,6 +37,19 @@ public CustomModel2SRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/customModel2s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -110,6 +123,20 @@ public Response List(string subscriptionId, string resou } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, string foo) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/customModel2s/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, string foo) { var message = _pipeline.CreateMessage(); @@ -198,6 +225,20 @@ public Response Put(string subscriptionId, string resourceGrou } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/customModel2s/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/CustomModel3SRestOperations.cs b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/CustomModel3SRestOperations.cs index e9b3babf554..1afbb2d094a 100644 --- a/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/CustomModel3SRestOperations.cs +++ b/test/TestProjects/MgmtExactMatchFlattenInheritance/src/Generated/RestOperations/CustomModel3SRestOperations.cs @@ -37,6 +37,19 @@ public CustomModel3SRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/customModel3s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -110,6 +123,20 @@ public Response List(string subscriptionId, string resou } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, CustomModel3Data data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/customModel3s/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, CustomModel3Data data) { var message = _pipeline.CreateMessage(); @@ -196,6 +223,20 @@ public Response Put(string subscriptionId, string resourceGrou } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/customModel3s/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel1Collection.cs b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel1Collection.cs index d5918d2e6c8..152dbe300ef 100644 --- a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel1Collection.cs +++ b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel1Collection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdate try { var response = await _exactMatchModel1RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, exactMatchModel1SName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel1Resource(Client, response), response.GetRawResponse())); + var uri = _exactMatchModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, exactMatchModel1SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil w try { var response = _exactMatchModel1RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, exactMatchModel1SName, data, cancellationToken); - var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel1Resource(Client, response), response.GetRawResponse())); + var uri = _exactMatchModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, exactMatchModel1SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel1Resource.cs b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel1Resource.cs index 7dcf3e40117..41e1bbc4a8f 100644 --- a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel1Resource.cs +++ b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel1Resource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync(Wa try { var response = await _exactMatchModel1RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel1Resource(Client, response), response.GetRawResponse())); + var uri = _exactMatchModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil try { var response = _exactMatchModel1RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel1Resource(Client, response), response.GetRawResponse())); + var uri = _exactMatchModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel5Collection.cs b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel5Collection.cs index 3fe76e2733e..59d1357cc67 100644 --- a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel5Collection.cs +++ b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel5Collection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdate try { var response = await _exactMatchModel5RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, exactMatchModel5SName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel5Resource(Client, response), response.GetRawResponse())); + var uri = _exactMatchModel5RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, exactMatchModel5SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel5Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil w try { var response = _exactMatchModel5RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, exactMatchModel5SName, data, cancellationToken); - var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel5Resource(Client, response), response.GetRawResponse())); + var uri = _exactMatchModel5RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, exactMatchModel5SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel5Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel5Resource.cs b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel5Resource.cs index c6c4508a5ed..37c3d0f5338 100644 --- a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel5Resource.cs +++ b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/ExactMatchModel5Resource.cs @@ -202,7 +202,9 @@ public virtual async Task> UpdateAsync(Wa try { var response = await _exactMatchModel5RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel5Resource(Client, response), response.GetRawResponse())); + var uri = _exactMatchModel5RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel5Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -247,7 +249,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil try { var response = _exactMatchModel5RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel5Resource(Client, response), response.GetRawResponse())); + var uri = _exactMatchModel5RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExactMatchInheritanceArmOperation(Response.FromValue(new ExactMatchModel5Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/LongRunningOperation/MgmtExactMatchInheritanceArmOperationOfT.cs b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/LongRunningOperation/MgmtExactMatchInheritanceArmOperationOfT.cs index 4df43724408..bc78d7d3b63 100644 --- a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/LongRunningOperation/MgmtExactMatchInheritanceArmOperationOfT.cs +++ b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/LongRunningOperation/MgmtExactMatchInheritanceArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtExactMatchInheritanceArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtExactMatchInheritanceArmOperation for mocking. protected MgmtExactMatchInheritanceArmOperation() { } - internal MgmtExactMatchInheritanceArmOperation(Response response) + internal MgmtExactMatchInheritanceArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtExactMatchInheritanceArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtExactMatchInheritanceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtExactMatchInheritanceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel1SRestOperations.cs b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel1SRestOperations.cs index 5cd7bbb49f7..fc2165f2099 100644 --- a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel1SRestOperations.cs +++ b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel1SRestOperations.cs @@ -37,6 +37,19 @@ public ExactMatchModel1SRestOperations(HttpPipeline pipeline, string application _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/exactMatchModel1s/", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string r } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string exactMatchModel1SName, ExactMatchModel1Data data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/exactMatchModel1s/", false); + uri.AppendPath(exactMatchModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string exactMatchModel1SName, ExactMatchModel1Data data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resource } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string exactMatchModel1SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/exactMatchModel1s/", false); + uri.AppendPath(exactMatchModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string exactMatchModel1SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel2SRestOperations.cs b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel2SRestOperations.cs index 635b5fae575..46cdeefe54d 100644 --- a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel2SRestOperations.cs +++ b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel2SRestOperations.cs @@ -37,6 +37,20 @@ public ExactMatchModel2SRestOperations(HttpPipeline pipeline, string application _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string exactMatchModel2SName, ExactMatchModel2 exactMatchModel2) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/exactMatchModel2s/", false); + uri.AppendPath(exactMatchModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string exactMatchModel2SName, ExactMatchModel2 exactMatchModel2) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel3SRestOperations.cs b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel3SRestOperations.cs index a80b8f74c5b..f0f86926cbb 100644 --- a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel3SRestOperations.cs +++ b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel3SRestOperations.cs @@ -37,6 +37,19 @@ public ExactMatchModel3SRestOperations(HttpPipeline pipeline, string application _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/exactMatchModel3s/", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string r } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string exactMatchModel3SName, ExactMatchModel3 exactMatchModel3) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/exactMatchModel3s/", false); + uri.AppendPath(exactMatchModel3SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string exactMatchModel3SName, ExactMatchModel3 exactMatchModel3) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGrou } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string exactMatchModel3SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/exactMatchModel3s/", false); + uri.AppendPath(exactMatchModel3SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string exactMatchModel3SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel4SRestOperations.cs b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel4SRestOperations.cs index 0a7eeeb9685..3ebcc8ef8ad 100644 --- a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel4SRestOperations.cs +++ b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel4SRestOperations.cs @@ -37,6 +37,20 @@ public ExactMatchModel4SRestOperations(HttpPipeline pipeline, string application _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string exactMatchModel4SName, ExactMatchModel4 exactMatchModel4) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/exactMatchModel4s/", false); + uri.AppendPath(exactMatchModel4SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string exactMatchModel4SName, ExactMatchModel4 exactMatchModel4) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel5SRestOperations.cs b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel5SRestOperations.cs index f504d73f755..7531bbfb34e 100644 --- a/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel5SRestOperations.cs +++ b/test/TestProjects/MgmtExactMatchInheritance/src/Generated/RestOperations/ExactMatchModel5SRestOperations.cs @@ -37,6 +37,19 @@ public ExactMatchModel5SRestOperations(HttpPipeline pipeline, string application _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/exactMatchModel5s/", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string r } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string exactMatchModel5SName, ExactMatchModel5Data data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/exactMatchModel5s/", false); + uri.AppendPath(exactMatchModel5SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string exactMatchModel5SName, ExactMatchModel5Data data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resource } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string exactMatchModel5SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/exactMatchModel5s/", false); + uri.AppendPath(exactMatchModel5SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string exactMatchModel5SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/LongRunningOperation/MgmtExpandResourceTypesArmOperation.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/LongRunningOperation/MgmtExpandResourceTypesArmOperation.cs index 69d30bb7d7f..3d83c603de5 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/LongRunningOperation/MgmtExpandResourceTypesArmOperation.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/LongRunningOperation/MgmtExpandResourceTypesArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtExpandResourceTypesArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtExpandResourceTypesArmOperation for mocking. protected MgmtExpandResourceTypesArmOperation() { } - internal MgmtExpandResourceTypesArmOperation(Response response) + internal MgmtExpandResourceTypesArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtExpandResourceTypesArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtExpandResourceTypesArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/LongRunningOperation/MgmtExpandResourceTypesArmOperationOfT.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/LongRunningOperation/MgmtExpandResourceTypesArmOperationOfT.cs index d07056cbeb5..7ed72e6b2b7 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/LongRunningOperation/MgmtExpandResourceTypesArmOperationOfT.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/LongRunningOperation/MgmtExpandResourceTypesArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtExpandResourceTypesArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtExpandResourceTypesArmOperation for mocking. protected MgmtExpandResourceTypesArmOperation() { } - internal MgmtExpandResourceTypesArmOperation(Response response) + internal MgmtExpandResourceTypesArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtExpandResourceTypesArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtExpandResourceTypesArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtExpandResourceTypesArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetACollection.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetACollection.cs index fd87c90a6c7..fd13fa5c769 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetACollection.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetACollection.cs @@ -92,7 +92,9 @@ public virtual async Task> CreateOrUpdateAsync( try { var response = await _recordSetARecordSetsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "A".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetAResource(Client, response), response.GetRawResponse())); + var uri = _recordSetARecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "A".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetAResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -142,7 +144,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUnt try { var response = _recordSetARecordSetsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "A".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetAResource(Client, response), response.GetRawResponse())); + var uri = _recordSetARecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "A".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetAResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetAResource.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetAResource.cs index 5e3bff797bb..dd365a06f64 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetAResource.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetAResource.cs @@ -202,7 +202,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, string try { var response = await _recordSetARecordSetsRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "A".ToRecordType(), Id.Name, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetARecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "A".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -245,7 +247,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, string ifMatch = null, C try { var response = _recordSetARecordSetsRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "A".ToRecordType(), Id.Name, ifMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetARecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "A".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetAaaaCollection.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetAaaaCollection.cs index 8d59c904357..9e9bc67bb99 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetAaaaCollection.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetAaaaCollection.cs @@ -92,7 +92,9 @@ public virtual async Task> CreateOrUpdateAsy try { var response = await _recordSetAaaaRecordSetsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "AAAA".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetAaaaResource(Client, response), response.GetRawResponse())); + var uri = _recordSetAaaaRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "AAAA".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetAaaaResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -142,7 +144,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wait try { var response = _recordSetAaaaRecordSetsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "AAAA".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetAaaaResource(Client, response), response.GetRawResponse())); + var uri = _recordSetAaaaRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "AAAA".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetAaaaResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetAaaaResource.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetAaaaResource.cs index ec7169ba2fa..532f70278cc 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetAaaaResource.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetAaaaResource.cs @@ -202,7 +202,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, string try { var response = await _recordSetAaaaRecordSetsRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "AAAA".ToRecordType(), Id.Name, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetAaaaRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "AAAA".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -245,7 +247,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, string ifMatch = null, C try { var response = _recordSetAaaaRecordSetsRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "AAAA".ToRecordType(), Id.Name, ifMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetAaaaRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "AAAA".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCNameCollection.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCNameCollection.cs index 84986094401..11bfd67bd27 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCNameCollection.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCNameCollection.cs @@ -92,7 +92,9 @@ public virtual async Task> CreateOrUpdateAs try { var response = await _recordSetCNameRecordSetsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "CNAME".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetCNameResource(Client, response), response.GetRawResponse())); + var uri = _recordSetCNameRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "CNAME".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetCNameResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -142,7 +144,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wai try { var response = _recordSetCNameRecordSetsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "CNAME".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetCNameResource(Client, response), response.GetRawResponse())); + var uri = _recordSetCNameRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "CNAME".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetCNameResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCNameResource.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCNameResource.cs index 83df94f4ab3..455305822e2 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCNameResource.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCNameResource.cs @@ -202,7 +202,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, string try { var response = await _recordSetCNameRecordSetsRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "CNAME".ToRecordType(), Id.Name, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetCNameRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "CNAME".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -245,7 +247,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, string ifMatch = null, C try { var response = _recordSetCNameRecordSetsRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "CNAME".ToRecordType(), Id.Name, ifMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetCNameRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "CNAME".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCaaCollection.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCaaCollection.cs index f236d09856e..ac7bc1ddb4c 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCaaCollection.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCaaCollection.cs @@ -92,7 +92,9 @@ public virtual async Task> CreateOrUpdateAsyn try { var response = await _recordSetCaaRecordSetsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "CAA".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetCaaResource(Client, response), response.GetRawResponse())); + var uri = _recordSetCaaRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "CAA".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetCaaResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -142,7 +144,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitU try { var response = _recordSetCaaRecordSetsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "CAA".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetCaaResource(Client, response), response.GetRawResponse())); + var uri = _recordSetCaaRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "CAA".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetCaaResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCaaResource.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCaaResource.cs index dae379d6524..d23af4581e6 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCaaResource.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetCaaResource.cs @@ -202,7 +202,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, string try { var response = await _recordSetCaaRecordSetsRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "CAA".ToRecordType(), Id.Name, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetCaaRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "CAA".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -245,7 +247,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, string ifMatch = null, C try { var response = _recordSetCaaRecordSetsRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "CAA".ToRecordType(), Id.Name, ifMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetCaaRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "CAA".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetMxCollection.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetMxCollection.cs index 950ed2fcff8..7b6f4ef2c4d 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetMxCollection.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetMxCollection.cs @@ -92,7 +92,9 @@ public virtual async Task> CreateOrUpdateAsync try { var response = await _recordSetMxRecordSetsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "MX".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetMxResource(Client, response), response.GetRawResponse())); + var uri = _recordSetMxRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "MX".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetMxResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -142,7 +144,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUn try { var response = _recordSetMxRecordSetsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "MX".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetMxResource(Client, response), response.GetRawResponse())); + var uri = _recordSetMxRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "MX".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetMxResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetMxResource.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetMxResource.cs index a5742fbe6b2..d252db03a1c 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetMxResource.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetMxResource.cs @@ -202,7 +202,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, string try { var response = await _recordSetMxRecordSetsRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "MX".ToRecordType(), Id.Name, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetMxRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "MX".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -245,7 +247,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, string ifMatch = null, C try { var response = _recordSetMxRecordSetsRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "MX".ToRecordType(), Id.Name, ifMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetMxRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "MX".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetNsCollection.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetNsCollection.cs index dd97a92e662..592b5b754d7 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetNsCollection.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetNsCollection.cs @@ -92,7 +92,9 @@ public virtual async Task> CreateOrUpdateAsync try { var response = await _recordSetNsRecordSetsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "NS".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetNsResource(Client, response), response.GetRawResponse())); + var uri = _recordSetNsRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "NS".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetNsResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -142,7 +144,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUn try { var response = _recordSetNsRecordSetsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "NS".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetNsResource(Client, response), response.GetRawResponse())); + var uri = _recordSetNsRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "NS".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetNsResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetNsResource.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetNsResource.cs index 5b1865c815e..8971d80543a 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetNsResource.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetNsResource.cs @@ -202,7 +202,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, string try { var response = await _recordSetNsRecordSetsRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "NS".ToRecordType(), Id.Name, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetNsRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "NS".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -245,7 +247,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, string ifMatch = null, C try { var response = _recordSetNsRecordSetsRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "NS".ToRecordType(), Id.Name, ifMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetNsRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "NS".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetPtrCollection.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetPtrCollection.cs index 6398e066252..87fc02b2020 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetPtrCollection.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetPtrCollection.cs @@ -92,7 +92,9 @@ public virtual async Task> CreateOrUpdateAsyn try { var response = await _recordSetPtrRecordSetsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "PTR".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetPtrResource(Client, response), response.GetRawResponse())); + var uri = _recordSetPtrRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "PTR".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetPtrResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -142,7 +144,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitU try { var response = _recordSetPtrRecordSetsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "PTR".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetPtrResource(Client, response), response.GetRawResponse())); + var uri = _recordSetPtrRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "PTR".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetPtrResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetPtrResource.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetPtrResource.cs index 8139ab0f31c..265212ad6b3 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetPtrResource.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetPtrResource.cs @@ -202,7 +202,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, string try { var response = await _recordSetPtrRecordSetsRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "PTR".ToRecordType(), Id.Name, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetPtrRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "PTR".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -245,7 +247,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, string ifMatch = null, C try { var response = _recordSetPtrRecordSetsRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "PTR".ToRecordType(), Id.Name, ifMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetPtrRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "PTR".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSoaCollection.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSoaCollection.cs index 69a117685ac..f3ce56f8940 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSoaCollection.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSoaCollection.cs @@ -92,7 +92,9 @@ public virtual async Task> CreateOrUpdateAsyn try { var response = await _recordSetSoaRecordSetsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "SOA".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetSoaResource(Client, response), response.GetRawResponse())); + var uri = _recordSetSoaRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "SOA".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetSoaResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -142,7 +144,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitU try { var response = _recordSetSoaRecordSetsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "SOA".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetSoaResource(Client, response), response.GetRawResponse())); + var uri = _recordSetSoaRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "SOA".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetSoaResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSoaResource.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSoaResource.cs index 7336e62f13e..7a563efe9fa 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSoaResource.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSoaResource.cs @@ -202,7 +202,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, string try { var response = await _recordSetSoaRecordSetsRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "SOA".ToRecordType(), Id.Name, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetSoaRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "SOA".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -245,7 +247,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, string ifMatch = null, C try { var response = _recordSetSoaRecordSetsRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "SOA".ToRecordType(), Id.Name, ifMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetSoaRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "SOA".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSrvCollection.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSrvCollection.cs index 44c96a1070c..9166ac3fd2d 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSrvCollection.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSrvCollection.cs @@ -92,7 +92,9 @@ public virtual async Task> CreateOrUpdateAsyn try { var response = await _recordSetSrvRecordSetsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "SRV".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetSrvResource(Client, response), response.GetRawResponse())); + var uri = _recordSetSrvRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "SRV".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetSrvResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -142,7 +144,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitU try { var response = _recordSetSrvRecordSetsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "SRV".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetSrvResource(Client, response), response.GetRawResponse())); + var uri = _recordSetSrvRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "SRV".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetSrvResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSrvResource.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSrvResource.cs index ee6cafd2584..0d78fd1c854 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSrvResource.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetSrvResource.cs @@ -202,7 +202,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, string try { var response = await _recordSetSrvRecordSetsRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "SRV".ToRecordType(), Id.Name, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetSrvRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "SRV".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -245,7 +247,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, string ifMatch = null, C try { var response = _recordSetSrvRecordSetsRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "SRV".ToRecordType(), Id.Name, ifMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetSrvRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "SRV".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetTxtCollection.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetTxtCollection.cs index c546bdc0eb3..60f13b56fa2 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetTxtCollection.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetTxtCollection.cs @@ -92,7 +92,9 @@ public virtual async Task> CreateOrUpdateAsyn try { var response = await _recordSetTxtRecordSetsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "TXT".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetTxtResource(Client, response), response.GetRawResponse())); + var uri = _recordSetTxtRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "TXT".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetTxtResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -142,7 +144,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitU try { var response = _recordSetTxtRecordSetsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "TXT".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetTxtResource(Client, response), response.GetRawResponse())); + var uri = _recordSetTxtRecordSetsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, "TXT".ToRecordType(), relativeRecordSetName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new RecordSetTxtResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetTxtResource.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetTxtResource.cs index 1f792b5634a..34073155800 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetTxtResource.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RecordSetTxtResource.cs @@ -202,7 +202,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, string try { var response = await _recordSetTxtRecordSetsRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "TXT".ToRecordType(), Id.Name, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetTxtRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "TXT".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -245,7 +247,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, string ifMatch = null, C try { var response = _recordSetTxtRecordSetsRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "TXT".ToRecordType(), Id.Name, ifMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(response); + var uri = _recordSetTxtRecordSetsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, "TXT".ToRecordType(), Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RestOperations/DnsResourceReferenceRestOperations.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RestOperations/DnsResourceReferenceRestOperations.cs index 80455d989bf..a05131cf1f3 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RestOperations/DnsResourceReferenceRestOperations.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RestOperations/DnsResourceReferenceRestOperations.cs @@ -37,6 +37,17 @@ public DnsResourceReferenceRestOperations(HttpPipeline pipeline, string applicat _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetByTargetResourcesRequestUri(string subscriptionId, DnsResourceReferenceContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Network/getDnsResourceReference", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetByTargetResourcesRequest(string subscriptionId, DnsResourceReferenceContent content) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RestOperations/RecordSetsRestOperations.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RestOperations/RecordSetsRestOperations.cs index 52acaacf8b9..ce8fa9d0b9f 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RestOperations/RecordSetsRestOperations.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RestOperations/RecordSetsRestOperations.cs @@ -37,6 +37,24 @@ public RecordSetsRestOperations(HttpPipeline pipeline, string applicationId, Uri _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string zoneName, RecordType recordType, string relativeRecordSetName, RecordSetData data, string ifMatch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/dnsZones/", false); + uri.AppendPath(zoneName, true); + uri.AppendPath("/", false); + uri.AppendPath(recordType.ToSerialString(), true); + uri.AppendPath("/", false); + uri.AppendPath(relativeRecordSetName, false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string zoneName, RecordType recordType, string relativeRecordSetName, RecordSetData data, string ifMatch) { var message = _pipeline.CreateMessage(); @@ -139,6 +157,24 @@ public Response Update(string subscriptionId, string resourceGrou } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string zoneName, RecordType recordType, string relativeRecordSetName, RecordSetData data, string ifMatch, string ifNoneMatch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/dnsZones/", false); + uri.AppendPath(zoneName, true); + uri.AppendPath("/", false); + uri.AppendPath(recordType.ToSerialString(), true); + uri.AppendPath("/", false); + uri.AppendPath(relativeRecordSetName, false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string zoneName, RecordType recordType, string relativeRecordSetName, RecordSetData data, string ifMatch, string ifNoneMatch) { var message = _pipeline.CreateMessage(); @@ -249,6 +285,24 @@ public Response CreateOrUpdate(string subscriptionId, string reso } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string zoneName, RecordType recordType, string relativeRecordSetName, string ifMatch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/dnsZones/", false); + uri.AppendPath(zoneName, true); + uri.AppendPath("/", false); + uri.AppendPath(recordType.ToSerialString(), true); + uri.AppendPath("/", false); + uri.AppendPath(relativeRecordSetName, false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string zoneName, RecordType recordType, string relativeRecordSetName, string ifMatch) { var message = _pipeline.CreateMessage(); @@ -335,6 +389,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string z } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string zoneName, RecordType recordType, string relativeRecordSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/dnsZones/", false); + uri.AppendPath(zoneName, true); + uri.AppendPath("/", false); + uri.AppendPath(recordType.ToSerialString(), true); + uri.AppendPath("/", false); + uri.AppendPath(relativeRecordSetName, false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string zoneName, RecordType recordType, string relativeRecordSetName) { var message = _pipeline.CreateMessage(); @@ -427,6 +499,30 @@ public Response Get(string subscriptionId, string resourceGroupNa } } + internal RequestUriBuilder CreateListByTypeRequestUri(string subscriptionId, string resourceGroupName, string zoneName, RecordType recordType, int? top, string recordsetnamesuffix) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/dnsZones/", false); + uri.AppendPath(zoneName, true); + uri.AppendPath("/", false); + uri.AppendPath(recordType.ToSerialString(), true); + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (recordsetnamesuffix != null) + { + uri.AppendQuery("$recordsetnamesuffix", recordsetnamesuffix, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByTypeRequest(string subscriptionId, string resourceGroupName, string zoneName, RecordType recordType, int? top, string recordsetnamesuffix) { var message = _pipeline.CreateMessage(); @@ -521,6 +617,29 @@ public Response ListByType(string subscriptionId, string re } } + internal RequestUriBuilder CreateListByDnsZoneRequestUri(string subscriptionId, string resourceGroupName, string zoneName, int? top, string recordsetnamesuffix) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/dnsZones/", false); + uri.AppendPath(zoneName, true); + uri.AppendPath("/recordsets", false); + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (recordsetnamesuffix != null) + { + uri.AppendQuery("$recordsetnamesuffix", recordsetnamesuffix, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByDnsZoneRequest(string subscriptionId, string resourceGroupName, string zoneName, int? top, string recordsetnamesuffix) { var message = _pipeline.CreateMessage(); @@ -612,6 +731,29 @@ public Response ListByDnsZone(string subscriptionId, string } } + internal RequestUriBuilder CreateListAllByDnsZoneRequestUri(string subscriptionId, string resourceGroupName, string zoneName, int? top, string recordSetNameSuffix) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/dnsZones/", false); + uri.AppendPath(zoneName, true); + uri.AppendPath("/all", false); + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (recordSetNameSuffix != null) + { + uri.AppendQuery("$recordsetnamesuffix", recordSetNameSuffix, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListAllByDnsZoneRequest(string subscriptionId, string resourceGroupName, string zoneName, int? top, string recordSetNameSuffix) { var message = _pipeline.CreateMessage(); @@ -703,6 +845,14 @@ public Response ListAllByDnsZone(string subscriptionId, str } } + internal RequestUriBuilder CreateListByTypeNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string zoneName, RecordType recordType, int? top, string recordsetnamesuffix) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByTypeNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string zoneName, RecordType recordType, int? top, string recordsetnamesuffix) { var message = _pipeline.CreateMessage(); @@ -785,6 +935,14 @@ public Response ListByTypeNextPage(string nextLink, string } } + internal RequestUriBuilder CreateListByDnsZoneNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string zoneName, int? top, string recordsetnamesuffix) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByDnsZoneNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string zoneName, int? top, string recordsetnamesuffix) { var message = _pipeline.CreateMessage(); @@ -865,6 +1023,14 @@ public Response ListByDnsZoneNextPage(string nextLink, stri } } + internal RequestUriBuilder CreateListAllByDnsZoneNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string zoneName, int? top, string recordSetNameSuffix) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListAllByDnsZoneNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string zoneName, int? top, string recordSetNameSuffix) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RestOperations/ZonesRestOperations.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RestOperations/ZonesRestOperations.cs index dff0a7c01be..2f5296dfb92 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RestOperations/ZonesRestOperations.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/RestOperations/ZonesRestOperations.cs @@ -37,6 +37,20 @@ public ZonesRestOperations(HttpPipeline pipeline, string applicationId, Uri endp _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string zoneName, ZoneData data, string ifMatch, string ifNoneMatch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/dnsZones/", false); + uri.AppendPath(zoneName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string zoneName, ZoneData data, string ifMatch, string ifNoneMatch) { var message = _pipeline.CreateMessage(); @@ -137,6 +151,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string zoneName, string ifMatch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/dnsZones/", false); + uri.AppendPath(zoneName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string zoneName, string ifMatch) { var message = _pipeline.CreateMessage(); @@ -215,6 +243,20 @@ public Response Delete(string subscriptionId, string resourceGroupName, string z } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string zoneName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/dnsZones/", false); + uri.AppendPath(zoneName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string zoneName) { var message = _pipeline.CreateMessage(); @@ -297,6 +339,20 @@ public Response Get(string subscriptionId, string resourceGroupName, s } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string zoneName, ZonePatch patch, string ifMatch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/dnsZones/", false); + uri.AppendPath(zoneName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string zoneName, ZonePatch patch, string ifMatch) { var message = _pipeline.CreateMessage(); @@ -389,6 +445,23 @@ public Response Update(string subscriptionId, string resourceGroupName } } + internal RequestUriBuilder CreateListByResourceGroupRequestUri(string subscriptionId, string resourceGroupName, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/dnsZones", false); + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByResourceGroupRequest(string subscriptionId, string resourceGroupName, int? top) { var message = _pipeline.CreateMessage(); @@ -468,6 +541,21 @@ public Response ListByResourceGroup(string subscriptionId, strin } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Network/dnszones", false); + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, int? top) { var message = _pipeline.CreateMessage(); @@ -541,6 +629,14 @@ public Response List(string subscriptionId, int? top = null, Can } } + internal RequestUriBuilder CreateListByResourceGroupNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByResourceGroupNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, int? top) { var message = _pipeline.CreateMessage(); @@ -615,6 +711,14 @@ public Response ListByResourceGroupNextPage(string nextLink, str } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, int? top) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/ZoneCollection.cs b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/ZoneCollection.cs index 660388f9584..5f76f6eb843 100644 --- a/test/TestProjects/MgmtExpandResourceTypes/src/Generated/ZoneCollection.cs +++ b/test/TestProjects/MgmtExpandResourceTypes/src/Generated/ZoneCollection.cs @@ -93,7 +93,9 @@ public virtual async Task> CreateOrUpdateAsync(WaitUn try { var response = await _zoneRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, zoneName, data, ifMatch, ifNoneMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new ZoneResource(Client, response), response.GetRawResponse())); + var uri = _zoneRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, zoneName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new ZoneResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -144,7 +146,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, st try { var response = _zoneRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, zoneName, data, ifMatch, ifNoneMatch, cancellationToken); - var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new ZoneResource(Client, response), response.GetRawResponse())); + var uri = _zoneRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, zoneName, data, ifMatch, ifNoneMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExpandResourceTypesArmOperation(Response.FromValue(new ZoneResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/LongRunningOperation/MgmtExtensionCommonRestOperationArmOperationOfT.cs b/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/LongRunningOperation/MgmtExtensionCommonRestOperationArmOperationOfT.cs index 47ffeb5fac1..ee73bd96c50 100644 --- a/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/LongRunningOperation/MgmtExtensionCommonRestOperationArmOperationOfT.cs +++ b/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/LongRunningOperation/MgmtExtensionCommonRestOperationArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtExtensionCommonRestOperationArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtExtensionCommonRestOperationArmOperation for mocking. protected MgmtExtensionCommonRestOperationArmOperation() { } - internal MgmtExtensionCommonRestOperationArmOperation(Response response) + internal MgmtExtensionCommonRestOperationArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtExtensionCommonRestOperationArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtExtensionCommonRestOperationArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtExtensionCommonRestOperationArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/RestOperations/CommonRestOperations.cs b/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/RestOperations/CommonRestOperations.cs index d18b61fb869..079ecaaad5f 100644 --- a/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/RestOperations/CommonRestOperations.cs +++ b/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/RestOperations/CommonRestOperations.cs @@ -37,6 +37,17 @@ public CommonRestOperations(HttpPipeline pipeline, string applicationId, Uri end _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListTypeOnesBySubscriptionRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.TypeOne/typeOnes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTypeOnesBySubscriptionRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -104,6 +115,17 @@ public Response ListTypeOnesBySubscription(string subscriptio } } + internal RequestUriBuilder CreateListTypeTwosBySubscriptionRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.TypeTwo/typeTwos", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTypeTwosBySubscriptionRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -171,6 +193,19 @@ public Response ListTypeTwosBySubscription(string subscriptio } } + internal RequestUriBuilder CreateListTypeOnesRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.TypeOne/typeOnes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTypeOnesRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -244,6 +279,19 @@ public Response ListTypeOnes(string subscriptionId, string re } } + internal RequestUriBuilder CreateListTypeTwosRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.TypeTwo/typeTwos", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTypeTwosRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -317,6 +365,20 @@ public Response ListTypeTwos(string subscriptionId, string re } } + internal RequestUriBuilder CreateGetTypeOneRequestUri(string subscriptionId, string resourceGroupName, string typeOneName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.TypeOne/typeOnes/", false); + uri.AppendPath(typeOneName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetTypeOneRequest(string subscriptionId, string resourceGroupName, string typeOneName) { var message = _pipeline.CreateMessage(); @@ -399,6 +461,20 @@ public Response GetTypeOne(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateCreateOrUpdateTypeOneRequestUri(string subscriptionId, string resourceGroupName, string typeOneName, TypeOneData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.TypeOne/typeOnes/", false); + uri.AppendPath(typeOneName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateTypeOneRequest(string subscriptionId, string resourceGroupName, string typeOneName, TypeOneData data) { var message = _pipeline.CreateMessage(); @@ -485,6 +561,20 @@ public Response CreateOrUpdateTypeOne(string subscriptionId, string } } + internal RequestUriBuilder CreateGetTypeTwoRequestUri(string subscriptionId, string resourceGroupName, string typeTwoName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.TypeTwo/typeTwos/", false); + uri.AppendPath(typeTwoName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetTypeTwoRequest(string subscriptionId, string resourceGroupName, string typeTwoName) { var message = _pipeline.CreateMessage(); @@ -567,6 +657,20 @@ public Response GetTypeTwo(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateCreateOrUpdateTypeTwoRequestUri(string subscriptionId, string resourceGroupName, string typeTwoName, TypeTwoData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.TypeTwo/typeTwos/", false); + uri.AppendPath(typeTwoName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateTypeTwoRequest(string subscriptionId, string resourceGroupName, string typeTwoName, TypeTwoData data) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeOneCollection.cs b/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeOneCollection.cs index 5b6ac3611ff..b623e4fc3b1 100644 --- a/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeOneCollection.cs +++ b/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeOneCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateAsync(Wai try { var response = await _typeOneCommonRestClient.CreateOrUpdateTypeOneAsync(Id.SubscriptionId, Id.ResourceGroupName, typeOneName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse())); + var uri = _typeOneCommonRestClient.CreateCreateOrUpdateTypeOneRequestUri(Id.SubscriptionId, Id.ResourceGroupName, typeOneName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, try { var response = _typeOneCommonRestClient.CreateOrUpdateTypeOne(Id.SubscriptionId, Id.ResourceGroupName, typeOneName, data, cancellationToken); - var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse())); + var uri = _typeOneCommonRestClient.CreateCreateOrUpdateTypeOneRequestUri(Id.SubscriptionId, Id.ResourceGroupName, typeOneName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeOneResource.cs b/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeOneResource.cs index 2386a712dc8..5a3a2e9fb8b 100644 --- a/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeOneResource.cs +++ b/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeOneResource.cs @@ -205,7 +205,9 @@ public virtual async Task> UpdateAsync(WaitUntil w try { var response = await _typeOneCommonRestClient.CreateOrUpdateTypeOneAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse())); + var uri = _typeOneCommonRestClient.CreateCreateOrUpdateTypeOneRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -251,7 +253,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, TypeOne try { var response = _typeOneCommonRestClient.CreateOrUpdateTypeOne(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse())); + var uri = _typeOneCommonRestClient.CreateCreateOrUpdateTypeOneRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeTwoCollection.cs b/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeTwoCollection.cs index 2c2918e2dec..448ce7742b2 100644 --- a/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeTwoCollection.cs +++ b/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeTwoCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateAsync(Wai try { var response = await _typeTwoCommonRestClient.CreateOrUpdateTypeTwoAsync(Id.SubscriptionId, Id.ResourceGroupName, typeTwoName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse())); + var uri = _typeTwoCommonRestClient.CreateCreateOrUpdateTypeTwoRequestUri(Id.SubscriptionId, Id.ResourceGroupName, typeTwoName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, try { var response = _typeTwoCommonRestClient.CreateOrUpdateTypeTwo(Id.SubscriptionId, Id.ResourceGroupName, typeTwoName, data, cancellationToken); - var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse())); + var uri = _typeTwoCommonRestClient.CreateCreateOrUpdateTypeTwoRequestUri(Id.SubscriptionId, Id.ResourceGroupName, typeTwoName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeTwoResource.cs b/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeTwoResource.cs index fc0caf352a9..d3378940d90 100644 --- a/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeTwoResource.cs +++ b/test/TestProjects/MgmtExtensionCommonRestOperation/src/Generated/TypeTwoResource.cs @@ -205,7 +205,9 @@ public virtual async Task> UpdateAsync(WaitUntil w try { var response = await _typeTwoCommonRestClient.CreateOrUpdateTypeTwoAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse())); + var uri = _typeTwoCommonRestClient.CreateCreateOrUpdateTypeTwoRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -251,7 +253,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, TypeTwo try { var response = _typeTwoCommonRestClient.CreateOrUpdateTypeTwo(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse())); + var uri = _typeTwoCommonRestClient.CreateCreateOrUpdateTypeTwoRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionCommonRestOperationArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExtensionResource/src/Generated/LongRunningOperation/MgmtExtensionResourceArmOperation.cs b/test/TestProjects/MgmtExtensionResource/src/Generated/LongRunningOperation/MgmtExtensionResourceArmOperation.cs index 9a2e8a916c1..bfb29eba8d1 100644 --- a/test/TestProjects/MgmtExtensionResource/src/Generated/LongRunningOperation/MgmtExtensionResourceArmOperation.cs +++ b/test/TestProjects/MgmtExtensionResource/src/Generated/LongRunningOperation/MgmtExtensionResourceArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtExtensionResourceArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtExtensionResourceArmOperation for mocking. protected MgmtExtensionResourceArmOperation() { } - internal MgmtExtensionResourceArmOperation(Response response) + internal MgmtExtensionResourceArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtExtensionResourceArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtExtensionResourceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtExtensionResource/src/Generated/LongRunningOperation/MgmtExtensionResourceArmOperationOfT.cs b/test/TestProjects/MgmtExtensionResource/src/Generated/LongRunningOperation/MgmtExtensionResourceArmOperationOfT.cs index a0e9cbd1bbd..cd20a78fc1a 100644 --- a/test/TestProjects/MgmtExtensionResource/src/Generated/LongRunningOperation/MgmtExtensionResourceArmOperationOfT.cs +++ b/test/TestProjects/MgmtExtensionResource/src/Generated/LongRunningOperation/MgmtExtensionResourceArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtExtensionResourceArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtExtensionResourceArmOperation for mocking. protected MgmtExtensionResourceArmOperation() { } - internal MgmtExtensionResourceArmOperation(Response response) + internal MgmtExtensionResourceArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtExtensionResourceArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtExtensionResourceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtExtensionResourceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtExtensionResource/src/Generated/ManagementGroupPolicyDefinitionCollection.cs b/test/TestProjects/MgmtExtensionResource/src/Generated/ManagementGroupPolicyDefinitionCollection.cs index 93c2f1f52fe..bb05e88a6f4 100644 --- a/test/TestProjects/MgmtExtensionResource/src/Generated/ManagementGroupPolicyDefinitionCollection.cs +++ b/test/TestProjects/MgmtExtensionResource/src/Generated/ManagementGroupPolicyDefinitionCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> try { var response = await _managementGroupPolicyDefinitionPolicyDefinitionsRestClient.CreateOrUpdateAtManagementGroupAsync(Id.Name, policyDefinitionName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new ManagementGroupPolicyDefinitionResource(Client, response), response.GetRawResponse())); + var uri = _managementGroupPolicyDefinitionPolicyDefinitionsRestClient.CreateCreateOrUpdateAtManagementGroupRequestUri(Id.Name, policyDefinitionName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new ManagementGroupPolicyDefinitionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpd try { var response = _managementGroupPolicyDefinitionPolicyDefinitionsRestClient.CreateOrUpdateAtManagementGroup(Id.Name, policyDefinitionName, data, cancellationToken); - var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new ManagementGroupPolicyDefinitionResource(Client, response), response.GetRawResponse())); + var uri = _managementGroupPolicyDefinitionPolicyDefinitionsRestClient.CreateCreateOrUpdateAtManagementGroupRequestUri(Id.Name, policyDefinitionName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new ManagementGroupPolicyDefinitionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExtensionResource/src/Generated/ManagementGroupPolicyDefinitionResource.cs b/test/TestProjects/MgmtExtensionResource/src/Generated/ManagementGroupPolicyDefinitionResource.cs index 4b374e2ad87..23bfc91d490 100644 --- a/test/TestProjects/MgmtExtensionResource/src/Generated/ManagementGroupPolicyDefinitionResource.cs +++ b/test/TestProjects/MgmtExtensionResource/src/Generated/ManagementGroupPolicyDefinitionResource.cs @@ -199,7 +199,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _managementGroupPolicyDefinitionPolicyDefinitionsRestClient.DeleteAtManagementGroupAsync(Id.Parent.Name, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExtensionResourceArmOperation(response); + var uri = _managementGroupPolicyDefinitionPolicyDefinitionsRestClient.CreateDeleteAtManagementGroupRequestUri(Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionResourceArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -241,7 +243,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _managementGroupPolicyDefinitionPolicyDefinitionsRestClient.DeleteAtManagementGroup(Id.Parent.Name, Id.Name, cancellationToken); - var operation = new MgmtExtensionResourceArmOperation(response); + var uri = _managementGroupPolicyDefinitionPolicyDefinitionsRestClient.CreateDeleteAtManagementGroupRequestUri(Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionResourceArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; @@ -287,7 +291,9 @@ public virtual async Task> try { var response = await _managementGroupPolicyDefinitionPolicyDefinitionsRestClient.CreateOrUpdateAtManagementGroupAsync(Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new ManagementGroupPolicyDefinitionResource(Client, response), response.GetRawResponse())); + var uri = _managementGroupPolicyDefinitionPolicyDefinitionsRestClient.CreateCreateOrUpdateAtManagementGroupRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new ManagementGroupPolicyDefinitionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -333,7 +339,9 @@ public virtual ArmOperation Update(Wait try { var response = _managementGroupPolicyDefinitionPolicyDefinitionsRestClient.CreateOrUpdateAtManagementGroup(Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new ManagementGroupPolicyDefinitionResource(Client, response), response.GetRawResponse())); + var uri = _managementGroupPolicyDefinitionPolicyDefinitionsRestClient.CreateCreateOrUpdateAtManagementGroupRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new ManagementGroupPolicyDefinitionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/OrphanedPostRestOperations.cs b/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/OrphanedPostRestOperations.cs index 079e32ef102..40fa6bdd5ab 100644 --- a/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/OrphanedPostRestOperations.cs +++ b/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/OrphanedPostRestOperations.cs @@ -36,6 +36,17 @@ public OrphanedPostRestOperations(HttpPipeline pipeline, string applicationId, U _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateValidateSomethingRequestUri(string subscriptionId, ValidateSomethingContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.OrphanedPost/validateSomething", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateValidateSomethingRequest(string subscriptionId, ValidateSomethingContent content) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/PolicyDefinitionsRestOperations.cs b/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/PolicyDefinitionsRestOperations.cs index 8cf5f5503c7..9dac0d025b8 100644 --- a/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/PolicyDefinitionsRestOperations.cs +++ b/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/PolicyDefinitionsRestOperations.cs @@ -37,6 +37,18 @@ public PolicyDefinitionsRestOperations(HttpPipeline pipeline, string application _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string policyDefinitionName, PolicyDefinitionData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Authorization/policyDefinitions/", false); + uri.AppendPath(policyDefinitionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string policyDefinitionName, PolicyDefinitionData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,18 @@ public Response CreateOrUpdate(string subscriptionId, stri } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string policyDefinitionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Authorization/policyDefinitions/", false); + uri.AppendPath(policyDefinitionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string policyDefinitionName) { var message = _pipeline.CreateMessage(); @@ -181,6 +205,18 @@ public Response Delete(string subscriptionId, string policyDefinitionName, Cance } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string policyDefinitionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Authorization/policyDefinitions/", false); + uri.AppendPath(policyDefinitionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string policyDefinitionName) { var message = _pipeline.CreateMessage(); @@ -257,6 +293,16 @@ public Response Get(string subscriptionId, string policyDe } } + internal RequestUriBuilder CreateGetBuiltInRequestUri(string policyDefinitionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Authorization/policyDefinitions/", false); + uri.AppendPath(policyDefinitionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetBuiltInRequest(string policyDefinitionName) { var message = _pipeline.CreateMessage(); @@ -327,6 +373,18 @@ public Response GetBuiltIn(string policyDefinitionName, Ca } } + internal RequestUriBuilder CreateCreateOrUpdateAtManagementGroupRequestUri(string managementGroupId, string policyDefinitionName, PolicyDefinitionData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(managementGroupId, true); + uri.AppendPath("/providers/Microsoft.Authorization/policyDefinitions/", false); + uri.AppendPath(policyDefinitionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateAtManagementGroupRequest(string managementGroupId, string policyDefinitionName, PolicyDefinitionData data) { var message = _pipeline.CreateMessage(); @@ -407,6 +465,18 @@ public Response CreateOrUpdateAtManagementGroup(string man } } + internal RequestUriBuilder CreateDeleteAtManagementGroupRequestUri(string managementGroupId, string policyDefinitionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(managementGroupId, true); + uri.AppendPath("/providers/Microsoft.Authorization/policyDefinitions/", false); + uri.AppendPath(policyDefinitionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteAtManagementGroupRequest(string managementGroupId, string policyDefinitionName) { var message = _pipeline.CreateMessage(); @@ -471,6 +541,18 @@ public Response DeleteAtManagementGroup(string managementGroupId, string policyD } } + internal RequestUriBuilder CreateGetAtManagementGroupRequestUri(string managementGroupId, string policyDefinitionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(managementGroupId, true); + uri.AppendPath("/providers/Microsoft.Authorization/policyDefinitions/", false); + uri.AppendPath(policyDefinitionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetAtManagementGroupRequest(string managementGroupId, string policyDefinitionName) { var message = _pipeline.CreateMessage(); @@ -547,6 +629,25 @@ public Response GetAtManagementGroup(string managementGrou } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Authorization/policyDefinitions", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (filter != null) + { + uri.AppendQuery("$filter", filter, false); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string filter, int? top) { var message = _pipeline.CreateMessage(); @@ -626,6 +727,23 @@ public Response List(string subscriptionId, string f } } + internal RequestUriBuilder CreateListBuiltInRequestUri(string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Authorization/policyDefinitions", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (filter != null) + { + uri.AppendQuery("$filter", filter, false); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + return uri; + } + internal HttpMessage CreateListBuiltInRequest(string filter, int? top) { var message = _pipeline.CreateMessage(); @@ -693,6 +811,25 @@ public Response ListBuiltIn(string filter = null, in } } + internal RequestUriBuilder CreateListByManagementGroupRequestUri(string managementGroupId, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(managementGroupId, true); + uri.AppendPath("/providers/Microsoft.Authorization/policyDefinitions", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (filter != null) + { + uri.AppendQuery("$filter", filter, false); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + return uri; + } + internal HttpMessage CreateListByManagementGroupRequest(string managementGroupId, string filter, int? top) { var message = _pipeline.CreateMessage(); @@ -772,6 +909,14 @@ public Response ListByManagementGroup(string managem } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string filter, int? top) { var message = _pipeline.CreateMessage(); @@ -844,6 +989,14 @@ public Response ListNextPage(string nextLink, string } } + internal RequestUriBuilder CreateListBuiltInNextPageRequestUri(string nextLink, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBuiltInNextPageRequest(string nextLink, string filter, int? top) { var message = _pipeline.CreateMessage(); @@ -910,6 +1063,14 @@ public Response ListBuiltInNextPage(string nextLink, } } + internal RequestUriBuilder CreateListByManagementGroupNextPageRequestUri(string nextLink, string managementGroupId, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByManagementGroupNextPageRequest(string nextLink, string managementGroupId, string filter, int? top) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/PolicyRestOperations.cs b/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/PolicyRestOperations.cs index dbd99f258f7..db568763e95 100644 --- a/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/PolicyRestOperations.cs +++ b/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/PolicyRestOperations.cs @@ -37,6 +37,20 @@ public PolicyRestOperations(HttpPipeline pipeline, string applicationId, Uri end _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCheckDnsNameAvailabilityRequestUri(string subscriptionId, string location, string domainNameLabel) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Network/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/CheckDnsNameAvailability", false); + uri.AppendQuery("domainNameLabel", domainNameLabel, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCheckDnsNameAvailabilityRequest(string subscriptionId, string location, string domainNameLabel) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/SubSingletonsRestOperations.cs b/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/SubSingletonsRestOperations.cs index d968447d234..b798e33b1f7 100644 --- a/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/SubSingletonsRestOperations.cs +++ b/test/TestProjects/MgmtExtensionResource/src/Generated/RestOperations/SubSingletonsRestOperations.cs @@ -36,6 +36,17 @@ public SubSingletonsRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Singleton/subSingletons/default", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -107,6 +118,17 @@ public Response Get(string subscriptionId, CancellationToken c } } + internal RequestUriBuilder CreateExecuteRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Singleton/subSingletons/default/execute", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateExecuteRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtExtensionResource/src/Generated/SubscriptionPolicyDefinitionCollection.cs b/test/TestProjects/MgmtExtensionResource/src/Generated/SubscriptionPolicyDefinitionCollection.cs index f277813dde4..8ecba9fdd2e 100644 --- a/test/TestProjects/MgmtExtensionResource/src/Generated/SubscriptionPolicyDefinitionCollection.cs +++ b/test/TestProjects/MgmtExtensionResource/src/Generated/SubscriptionPolicyDefinitionCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> Cr try { var response = await _subscriptionPolicyDefinitionPolicyDefinitionsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, policyDefinitionName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new SubscriptionPolicyDefinitionResource(Client, response), response.GetRawResponse())); + var uri = _subscriptionPolicyDefinitionPolicyDefinitionsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, policyDefinitionName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new SubscriptionPolicyDefinitionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate try { var response = _subscriptionPolicyDefinitionPolicyDefinitionsRestClient.CreateOrUpdate(Id.SubscriptionId, policyDefinitionName, data, cancellationToken); - var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new SubscriptionPolicyDefinitionResource(Client, response), response.GetRawResponse())); + var uri = _subscriptionPolicyDefinitionPolicyDefinitionsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, policyDefinitionName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new SubscriptionPolicyDefinitionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtExtensionResource/src/Generated/SubscriptionPolicyDefinitionResource.cs b/test/TestProjects/MgmtExtensionResource/src/Generated/SubscriptionPolicyDefinitionResource.cs index b810e546327..7679d811366 100644 --- a/test/TestProjects/MgmtExtensionResource/src/Generated/SubscriptionPolicyDefinitionResource.cs +++ b/test/TestProjects/MgmtExtensionResource/src/Generated/SubscriptionPolicyDefinitionResource.cs @@ -199,7 +199,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _subscriptionPolicyDefinitionPolicyDefinitionsRestClient.DeleteAsync(Id.SubscriptionId, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExtensionResourceArmOperation(response); + var uri = _subscriptionPolicyDefinitionPolicyDefinitionsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionResourceArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -241,7 +243,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _subscriptionPolicyDefinitionPolicyDefinitionsRestClient.Delete(Id.SubscriptionId, Id.Name, cancellationToken); - var operation = new MgmtExtensionResourceArmOperation(response); + var uri = _subscriptionPolicyDefinitionPolicyDefinitionsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionResourceArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; @@ -287,7 +291,9 @@ public virtual async Task> Up try { var response = await _subscriptionPolicyDefinitionPolicyDefinitionsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new SubscriptionPolicyDefinitionResource(Client, response), response.GetRawResponse())); + var uri = _subscriptionPolicyDefinitionPolicyDefinitionsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new SubscriptionPolicyDefinitionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -333,7 +339,9 @@ public virtual ArmOperation Update(WaitUnt try { var response = _subscriptionPolicyDefinitionPolicyDefinitionsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Name, data, cancellationToken); - var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new SubscriptionPolicyDefinitionResource(Client, response), response.GetRawResponse())); + var uri = _subscriptionPolicyDefinitionPolicyDefinitionsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtExtensionResourceArmOperation(Response.FromValue(new SubscriptionPolicyDefinitionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtHierarchicalNonResource/src/Generated/RestOperations/SharedGalleriesRestOperations.cs b/test/TestProjects/MgmtHierarchicalNonResource/src/Generated/RestOperations/SharedGalleriesRestOperations.cs index b209a30d750..5afae16b907 100644 --- a/test/TestProjects/MgmtHierarchicalNonResource/src/Generated/RestOperations/SharedGalleriesRestOperations.cs +++ b/test/TestProjects/MgmtHierarchicalNonResource/src/Generated/RestOperations/SharedGalleriesRestOperations.cs @@ -37,6 +37,23 @@ public SharedGalleriesRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string location, SharedToValue? sharedTo) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/sharedGalleries", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (sharedTo != null) + { + uri.AppendQuery("sharedTo", sharedTo.Value.ToString(), true); + } + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string location, SharedToValue? sharedTo) { var message = _pipeline.CreateMessage(); @@ -116,6 +133,20 @@ public Response List(string subscriptionId, string location, } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string location, string galleryUniqueName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/sharedGalleries/", false); + uri.AppendPath(galleryUniqueName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string location, string galleryUniqueName) { var message = _pipeline.CreateMessage(); @@ -198,6 +229,14 @@ public Response Get(string subscriptionId, string location, s } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string location, SharedToValue? sharedTo) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string location, SharedToValue? sharedTo) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtHierarchicalNonResource/src/Generated/RestOperations/SharedGalleryImageVersionsRestOperations.cs b/test/TestProjects/MgmtHierarchicalNonResource/src/Generated/RestOperations/SharedGalleryImageVersionsRestOperations.cs index 5e73473c6b3..977f975e70f 100644 --- a/test/TestProjects/MgmtHierarchicalNonResource/src/Generated/RestOperations/SharedGalleryImageVersionsRestOperations.cs +++ b/test/TestProjects/MgmtHierarchicalNonResource/src/Generated/RestOperations/SharedGalleryImageVersionsRestOperations.cs @@ -37,6 +37,27 @@ public SharedGalleryImageVersionsRestOperations(HttpPipeline pipeline, string ap _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string location, string galleryUniqueName, string galleryImageName, SharedToValue? sharedTo) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/sharedGalleries/", false); + uri.AppendPath(galleryUniqueName, true); + uri.AppendPath("/images/", false); + uri.AppendPath(galleryImageName, true); + uri.AppendPath("/versions", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (sharedTo != null) + { + uri.AppendQuery("sharedTo", sharedTo.Value.ToString(), true); + } + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string location, string galleryUniqueName, string galleryImageName, SharedToValue? sharedTo) { var message = _pipeline.CreateMessage(); @@ -128,6 +149,24 @@ public Response List(string subscriptionId, strin } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string location, string galleryUniqueName, string galleryImageName, string galleryImageVersionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/sharedGalleries/", false); + uri.AppendPath(galleryUniqueName, true); + uri.AppendPath("/images/", false); + uri.AppendPath(galleryImageName, true); + uri.AppendPath("/versions/", false); + uri.AppendPath(galleryImageVersionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string location, string galleryUniqueName, string galleryImageName, string galleryImageVersionName) { var message = _pipeline.CreateMessage(); @@ -218,6 +257,14 @@ public Response Get(string subscriptionId, string loc } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string location, string galleryUniqueName, string galleryImageName, SharedToValue? sharedTo) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string location, string galleryUniqueName, string galleryImageName, SharedToValue? sharedTo) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtHierarchicalNonResource/src/Generated/RestOperations/SharedGalleryImagesRestOperations.cs b/test/TestProjects/MgmtHierarchicalNonResource/src/Generated/RestOperations/SharedGalleryImagesRestOperations.cs index 6942facd26a..f14e66d50ec 100644 --- a/test/TestProjects/MgmtHierarchicalNonResource/src/Generated/RestOperations/SharedGalleryImagesRestOperations.cs +++ b/test/TestProjects/MgmtHierarchicalNonResource/src/Generated/RestOperations/SharedGalleryImagesRestOperations.cs @@ -37,6 +37,25 @@ public SharedGalleryImagesRestOperations(HttpPipeline pipeline, string applicati _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string location, string galleryUniqueName, SharedToValue? sharedTo) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/sharedGalleries/", false); + uri.AppendPath(galleryUniqueName, true); + uri.AppendPath("/images", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (sharedTo != null) + { + uri.AppendQuery("sharedTo", sharedTo.Value.ToString(), true); + } + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string location, string galleryUniqueName, SharedToValue? sharedTo) { var message = _pipeline.CreateMessage(); @@ -122,6 +141,22 @@ public Response List(string subscriptionId, string locat } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string location, string galleryUniqueName, string galleryImageName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/sharedGalleries/", false); + uri.AppendPath(galleryUniqueName, true); + uri.AppendPath("/images/", false); + uri.AppendPath(galleryImageName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string location, string galleryUniqueName, string galleryImageName) { var message = _pipeline.CreateMessage(); @@ -206,6 +241,14 @@ public Response Get(string subscriptionId, string location, } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string location, string galleryUniqueName, SharedToValue? sharedTo) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string location, string galleryUniqueName, SharedToValue? sharedTo) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtLRO/src/Generated/FakeResource.cs b/test/TestProjects/MgmtLRO/src/Generated/FakeResource.cs index 0232cb4cce5..c918819acb4 100644 --- a/test/TestProjects/MgmtLRO/src/Generated/FakeResource.cs +++ b/test/TestProjects/MgmtLRO/src/Generated/FakeResource.cs @@ -204,7 +204,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _fakeRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtLROArmOperation(response); + var uri = _fakeRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtLROArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _fakeRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new MgmtLROArmOperation(response); + var uri = _fakeRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtLROArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtLRO/src/Generated/LongRunningOperation/MgmtLROArmOperation.cs b/test/TestProjects/MgmtLRO/src/Generated/LongRunningOperation/MgmtLROArmOperation.cs index f9a99739db8..2d0c2d1c779 100644 --- a/test/TestProjects/MgmtLRO/src/Generated/LongRunningOperation/MgmtLROArmOperation.cs +++ b/test/TestProjects/MgmtLRO/src/Generated/LongRunningOperation/MgmtLROArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtLROArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtLROArmOperation for mocking. protected MgmtLROArmOperation() { } - internal MgmtLROArmOperation(Response response) + internal MgmtLROArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtLROArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtLROArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtLRO/src/Generated/LongRunningOperation/MgmtLROArmOperationOfT.cs b/test/TestProjects/MgmtLRO/src/Generated/LongRunningOperation/MgmtLROArmOperationOfT.cs index f1250eaa054..febbbee3fd1 100644 --- a/test/TestProjects/MgmtLRO/src/Generated/LongRunningOperation/MgmtLROArmOperationOfT.cs +++ b/test/TestProjects/MgmtLRO/src/Generated/LongRunningOperation/MgmtLROArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtLROArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtLROArmOperation for mocking. protected MgmtLROArmOperation() { } - internal MgmtLROArmOperation(Response response) + internal MgmtLROArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtLROArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtLROArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtLROArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtLRO/src/Generated/RestOperations/BarsRestOperations.cs b/test/TestProjects/MgmtLRO/src/Generated/RestOperations/BarsRestOperations.cs index 850364dec0b..bc659be0298 100644 --- a/test/TestProjects/MgmtLRO/src/Generated/RestOperations/BarsRestOperations.cs +++ b/test/TestProjects/MgmtLRO/src/Generated/RestOperations/BarsRestOperations.cs @@ -37,6 +37,19 @@ public BarsRestOperations(HttpPipeline pipeline, string applicationId, Uri endpo _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/bars", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -110,6 +123,20 @@ public Response List(string subscriptionId, string resourceGroupN } } + internal RequestUriBuilder CreateCreateRequestUri(string subscriptionId, string resourceGroupName, string barName, BarData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/bars/", false); + uri.AppendPath(barName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateRequest(string subscriptionId, string resourceGroupName, string barName, BarData data) { var message = _pipeline.CreateMessage(); @@ -188,6 +215,20 @@ public Response Create(string subscriptionId, string resourceGroupName, string b } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string barName, BarPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/bars/", false); + uri.AppendPath(barName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string barName, BarPatch patch) { var message = _pipeline.CreateMessage(); @@ -266,6 +307,20 @@ public Response Update(string subscriptionId, string resourceGroupName, string b } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string barName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/bars/", false); + uri.AppendPath(barName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string barName) { var message = _pipeline.CreateMessage(); @@ -348,6 +403,20 @@ public Response Get(string subscriptionId, string resourceGroupName, st } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string barName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/bars/", false); + uri.AppendPath(barName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string barName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtLRO/src/Generated/RestOperations/FakesRestOperations.cs b/test/TestProjects/MgmtLRO/src/Generated/RestOperations/FakesRestOperations.cs index 2d380c3b4be..fef3f73d14e 100644 --- a/test/TestProjects/MgmtLRO/src/Generated/RestOperations/FakesRestOperations.cs +++ b/test/TestProjects/MgmtLRO/src/Generated/RestOperations/FakesRestOperations.cs @@ -37,6 +37,20 @@ public FakesRestOperations(HttpPipeline pipeline, string applicationId, Uri endp _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string fakeName, FakeData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string fakeName, FakeData data) { var message = _pipeline.CreateMessage(); @@ -115,6 +129,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string fakeName, FakePatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string fakeName, FakePatch patch) { var message = _pipeline.CreateMessage(); @@ -193,6 +221,20 @@ public Response Update(string subscriptionId, string resourceGroupName, string f } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string fakeName) { var message = _pipeline.CreateMessage(); @@ -264,6 +306,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string f } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string fakeName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string fakeName, string expand) { var message = _pipeline.CreateMessage(); @@ -352,6 +412,23 @@ public Response Get(string subscriptionId, string resourceGroupName, s } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string optionalParam) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes", false); + if (optionalParam != null) + { + uri.AppendQuery("optionalParam", optionalParam, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string optionalParam) { var message = _pipeline.CreateMessage(); @@ -431,6 +508,21 @@ public Response List(string subscriptionId, string resourceGroup } } + internal RequestUriBuilder CreateDoSomethingLRORequestUri(string subscriptionId, string resourceGroupName, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/doSomethingLRO", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDoSomethingLRORequest(string subscriptionId, string resourceGroupName, string fakeName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeCollection.cs index 24d146127ab..00e59b09351 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateAsync(WaitUn try { var response = await _fakeRestClient.CreateOrUpdateAsync(Id.SubscriptionId, fakeName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeResource(Client, response), response.GetRawResponse())); + var uri = _fakeRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, fakeName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, st try { var response = _fakeRestClient.CreateOrUpdate(Id.SubscriptionId, fakeName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeResource(Client, response), response.GetRawResponse())); + var uri = _fakeRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, fakeName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeConfigurationCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeConfigurationCollection.cs index baff6fd3713..dbe9a081ce9 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeConfigurationCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeConfigurationCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdat try { var response = await _fakeConfigurationConfigurationsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Name, configurationName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeConfigurationResource(Client, response), response.GetRawResponse())); + var uri = _fakeConfigurationConfigurationsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, configurationName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeConfigurationResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil try { var response = _fakeConfigurationConfigurationsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Name, configurationName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeConfigurationResource(Client, response), response.GetRawResponse())); + var uri = _fakeConfigurationConfigurationsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, configurationName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeConfigurationResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeConfigurationResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeConfigurationResource.cs index c80619ac2ff..20b11cabc3e 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeConfigurationResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeConfigurationResource.cs @@ -204,7 +204,9 @@ public virtual async Task> UpdateAsync(W try { var response = await _fakeConfigurationConfigurationsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeConfigurationResource(Client, response), response.GetRawResponse())); + var uri = _fakeConfigurationConfigurationsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeConfigurationResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -250,7 +252,9 @@ public virtual ArmOperation Update(WaitUntil waitUnti try { var response = _fakeConfigurationConfigurationsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeConfigurationResource(Client, response), response.GetRawResponse())); + var uri = _fakeConfigurationConfigurationsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeConfigurationResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentCollection.cs index 1e74bfb63c5..810155785fa 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAsync( try { var response = await _fakeParentRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Name, fakeParentName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, fakeParentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUnt try { var response = _fakeParentRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Name, fakeParentName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, fakeParentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentResource.cs index 506cfcc9467..c83e11d187a 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentResource.cs @@ -204,7 +204,9 @@ public virtual async Task> UpdateAsync(WaitUnti try { var response = await _fakeParentRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -250,7 +252,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, Fake try { var response = _fakeParentRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorCollection.cs index 675bdcadb9c..2865edb18ba 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOr try { var response = await _fakeParentWithAncestorRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Name, fakeParentWithAncestorName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, fakeParentWithAncestorName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdate(WaitU try { var response = _fakeParentWithAncestorRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Name, fakeParentWithAncestorName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, fakeParentWithAncestorName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorResource.cs index 9c969f32cd4..0780c537b10 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorResource.cs @@ -204,7 +204,9 @@ public virtual async Task> UpdateAs try { var response = await _fakeParentWithAncestorRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -250,7 +252,9 @@ public virtual ArmOperation Update(WaitUntil wai try { var response = _fakeParentWithAncestorRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithLocCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithLocCollection.cs index 084276ac3c3..ac6f7293313 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithLocCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithLocCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> C try { var response = await _fakeParentWithAncestorWithLocRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Name, fakeParentWithAncestorWithLocName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithLocResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, fakeParentWithAncestorWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdat try { var response = _fakeParentWithAncestorWithLocRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Name, fakeParentWithAncestorWithLocName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithLocResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, fakeParentWithAncestorWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithLocResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithLocResource.cs index 1cb5ba72e16..61d9c2f14ed 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithLocResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithLocResource.cs @@ -204,7 +204,9 @@ public virtual async Task> U try { var response = await _fakeParentWithAncestorWithLocRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithLocResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -250,7 +252,9 @@ public virtual ArmOperation Update(WaitUn try { var response = _fakeParentWithAncestorWithLocRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithLocResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChCollection.cs index ddb39052ae3..e1342bc2ef0 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChCollection.cs @@ -90,7 +90,9 @@ public virtual async Task(Response.FromValue(new FakeParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, fakeParentWithAncestorWithNonResChName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOr try { var response = _fakeParentWithAncestorWithNonResChRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Name, fakeParentWithAncestorWithNonResChName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, fakeParentWithAncestorWithNonResChName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChResource.cs index 8d346b2b83f..aca5f00f736 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChResource.cs @@ -206,7 +206,9 @@ public virtual async Task(Response.FromValue(new FakeParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -252,7 +254,9 @@ public virtual ArmOperation Update(W try { var response = _fakeParentWithAncestorWithNonResChRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChWithLocCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChWithLocCollection.cs index 665bc9940e9..64347cd94dc 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChWithLocCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChWithLocCollection.cs @@ -90,7 +90,9 @@ public virtual async Task(Response.FromValue(new FakeParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, fakeParentWithAncestorWithNonResChWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation C try { var response = _fakeParentWithAncestorWithNonResChWithLocRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Name, fakeParentWithAncestorWithNonResChWithLocName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, fakeParentWithAncestorWithNonResChWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChWithLocResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChWithLocResource.cs index 19985808e23..73bd321845b 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChWithLocResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithAncestorWithNonResChWithLocResource.cs @@ -206,7 +206,9 @@ public virtual async Task(Response.FromValue(new FakeParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -252,7 +254,9 @@ public virtual ArmOperation U try { var response = _fakeParentWithAncestorWithNonResChWithLocRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithAncestorWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithNonResChCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithNonResChCollection.cs index 633a4d3277f..10b36a10471 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithNonResChCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithNonResChCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOr try { var response = await _fakeParentWithNonResChRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Name, fakeParentWithNonResChName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, fakeParentWithNonResChName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdate(WaitU try { var response = _fakeParentWithNonResChRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Name, fakeParentWithNonResChName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, fakeParentWithNonResChName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithNonResChResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithNonResChResource.cs index 98c98e88861..5006c77e899 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithNonResChResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeParentWithNonResChResource.cs @@ -206,7 +206,9 @@ public virtual async Task> UpdateAs try { var response = await _fakeParentWithNonResChRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -252,7 +254,9 @@ public virtual ArmOperation Update(WaitUntil wai try { var response = _fakeParentWithNonResChRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _fakeParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/FakeResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/FakeResource.cs index 69b0a8013b6..3c69808e381 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/FakeResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/FakeResource.cs @@ -691,7 +691,9 @@ public virtual async Task> UpdateAsync(WaitUntil wait try { var response = await _fakeRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeResource(Client, response), response.GetRawResponse())); + var uri = _fakeRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -737,7 +739,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, FakeData d try { var response = _fakeRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeResource(Client, response), response.GetRawResponse())); + var uri = _fakeRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new FakeResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/LongRunningOperation/MgmtListMethodsArmOperationOfT.cs b/test/TestProjects/MgmtListMethods/src/Generated/LongRunningOperation/MgmtListMethodsArmOperationOfT.cs index f8dcdca138d..1d32517b13e 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/LongRunningOperation/MgmtListMethodsArmOperationOfT.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/LongRunningOperation/MgmtListMethodsArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtListMethodsArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtListMethodsArmOperation for mocking. protected MgmtListMethodsArmOperation() { } - internal MgmtListMethodsArmOperation(Response response) + internal MgmtListMethodsArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtListMethodsArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtListMethodsArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtListMethodsArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGroupParentCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGroupParentCollection.cs index cf10c892340..779a9393b2c 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGroupParentCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGroupParentCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateA try { var response = await _mgmtGroupParentRestClient.CreateOrUpdateAsync(Id.Name, mgmtGroupParentName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGroupParentResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGroupParentRestClient.CreateCreateOrUpdateRequestUri(Id.Name, mgmtGroupParentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGroupParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wa try { var response = _mgmtGroupParentRestClient.CreateOrUpdate(Id.Name, mgmtGroupParentName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGroupParentResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGroupParentRestClient.CreateCreateOrUpdateRequestUri(Id.Name, mgmtGroupParentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGroupParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGroupParentResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGroupParentResource.cs index d59e2ea45c4..803985ceca5 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGroupParentResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGroupParentResource.cs @@ -204,7 +204,9 @@ public virtual async Task> UpdateAsync(Wai try { var response = await _mgmtGroupParentRestClient.CreateOrUpdateAsync(Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGroupParentResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGroupParentRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGroupParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -250,7 +252,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, try { var response = _mgmtGroupParentRestClient.CreateOrUpdate(Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGroupParentResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGroupParentRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGroupParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithLocCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithLocCollection.cs index b741760f178..4277415cf0b 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithLocCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithLocCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUp try { var response = await _mgmtGrpParentWithLocRestClient.CreateOrUpdateAsync(Id.Name, mgmtGrpParentWithLocName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithLocResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGrpParentWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Name, mgmtGrpParentWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUnt try { var response = _mgmtGrpParentWithLocRestClient.CreateOrUpdate(Id.Name, mgmtGrpParentWithLocName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithLocResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGrpParentWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Name, mgmtGrpParentWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithLocResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithLocResource.cs index 7175b80d6e2..76454350d65 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithLocResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithLocResource.cs @@ -204,7 +204,9 @@ public virtual async Task> UpdateAsyn try { var response = await _mgmtGrpParentWithLocRestClient.CreateOrUpdateAsync(Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithLocResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGrpParentWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -250,7 +252,9 @@ public virtual ArmOperation Update(WaitUntil waitU try { var response = _mgmtGrpParentWithLocRestClient.CreateOrUpdate(Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithLocResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGrpParentWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChCollection.cs index b8467c52096..82537af7d36 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> Creat try { var response = await _mgmtGrpParentWithNonResChRestClient.CreateOrUpdateAsync(Id.Name, mgmtGrpParentWithNonResChName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGrpParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.Name, mgmtGrpParentWithNonResChName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(Wa try { var response = _mgmtGrpParentWithNonResChRestClient.CreateOrUpdate(Id.Name, mgmtGrpParentWithNonResChName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGrpParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.Name, mgmtGrpParentWithNonResChName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChResource.cs index 71e903a70bd..b0b597e4bef 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChResource.cs @@ -206,7 +206,9 @@ public virtual async Task> Updat try { var response = await _mgmtGrpParentWithNonResChRestClient.CreateOrUpdateAsync(Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGrpParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -252,7 +254,9 @@ public virtual ArmOperation Update(WaitUntil try { var response = _mgmtGrpParentWithNonResChRestClient.CreateOrUpdate(Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGrpParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChWithLocCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChWithLocCollection.cs index f324c80bcd5..788d65b2724 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChWithLocCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChWithLocCollection.cs @@ -91,7 +91,9 @@ public virtual async Task try { var response = await _mgmtGrpParentWithNonResChWithLocRestClient.CreateOrUpdateAsync(Id.Name, mgmtGrpParentWithNonResChWithLocName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGrpParentWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Name, mgmtGrpParentWithNonResChWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUp try { var response = _mgmtGrpParentWithNonResChWithLocRestClient.CreateOrUpdate(Id.Name, mgmtGrpParentWithNonResChWithLocName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGrpParentWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Name, mgmtGrpParentWithNonResChWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChWithLocResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChWithLocResource.cs index 8bdfefc4194..33e6ca1c7c2 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChWithLocResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/MgmtGrpParentWithNonResChWithLocResource.cs @@ -206,7 +206,9 @@ public virtual async Task try { var response = await _mgmtGrpParentWithNonResChWithLocRestClient.CreateOrUpdateAsync(Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGrpParentWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -252,7 +254,9 @@ public virtual ArmOperation Update(Wai try { var response = _mgmtGrpParentWithNonResChWithLocRestClient.CreateOrUpdate(Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _mgmtGrpParentWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new MgmtGrpParentWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentCollection.cs index 1ff869c6bd4..1b2de8dc04d 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateAsyn try { var response = await _resGrpParentRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitU try { var response = _resGrpParentRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentResource.cs index 48a0724ee96..cd65f30efa6 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentResource.cs @@ -205,7 +205,9 @@ public virtual async Task> UpdateAsync(WaitUn try { var response = await _resGrpParentRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -251,7 +253,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, Re try { var response = _resGrpParentRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorCollection.cs index 8945738c128..fe6d794902c 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> Create try { var response = await _resGrpParentWithAncestorRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithAncestorName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithAncestorName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(Wai try { var response = _resGrpParentWithAncestorRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithAncestorName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithAncestorName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorResource.cs index 5928b0b7306..ee347feb76c 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorResource.cs @@ -205,7 +205,9 @@ public virtual async Task> Update try { var response = await _resGrpParentWithAncestorRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -251,7 +253,9 @@ public virtual ArmOperation Update(WaitUntil w try { var response = _resGrpParentWithAncestorRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithLocCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithLocCollection.cs index dceb282b8b9..6064477e203 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithLocCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithLocCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> try { var response = await _resGrpParentWithAncestorWithLocRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithAncestorWithLocName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithLocResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithAncestorWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpd try { var response = _resGrpParentWithAncestorWithLocRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithAncestorWithLocName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithLocResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithAncestorWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithLocResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithLocResource.cs index d642ac30e12..98b0810f5bc 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithLocResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithLocResource.cs @@ -205,7 +205,9 @@ public virtual async Task> try { var response = await _resGrpParentWithAncestorWithLocRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithLocResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -251,7 +253,9 @@ public virtual ArmOperation Update(Wait try { var response = _resGrpParentWithAncestorWithLocRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithLocResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChCollection.cs index a91280ce964..f6fbb55e55f 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChCollection.cs @@ -91,7 +91,9 @@ public virtual async Task(Response.FromValue(new ResGrpParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithAncestorWithNonResChName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation Create try { var response = _resGrpParentWithAncestorWithNonResChRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithAncestorWithNonResChName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithAncestorWithNonResChName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChResource.cs index b045f47f8bd..d0401bc2d05 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChResource.cs @@ -207,7 +207,9 @@ public virtual async Task(Response.FromValue(new ResGrpParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -253,7 +255,9 @@ public virtual ArmOperation Update try { var response = _resGrpParentWithAncestorWithNonResChRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChWithLocCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChWithLocCollection.cs index 0c75236a125..94f44d91c9d 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChWithLocCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChWithLocCollection.cs @@ -91,7 +91,9 @@ public virtual async Task(Response.FromValue(new ResGrpParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithAncestorWithNonResChWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation try { var response = _resGrpParentWithAncestorWithNonResChWithLocRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithAncestorWithNonResChWithLocName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithAncestorWithNonResChWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChWithLocResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChWithLocResource.cs index c73d8279263..54b89163cbb 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChWithLocResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithAncestorWithNonResChWithLocResource.cs @@ -207,7 +207,9 @@ public virtual async Task(Response.FromValue(new ResGrpParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -253,7 +255,9 @@ public virtual ArmOperation try { var response = _resGrpParentWithAncestorWithNonResChWithLocRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithAncestorWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithAncestorWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithNonResChCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithNonResChCollection.cs index 566d7cc0efd..1c3ee8af531 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithNonResChCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithNonResChCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> Create try { var response = await _resGrpParentWithNonResChRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithNonResChName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithNonResChName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(Wai try { var response = _resGrpParentWithNonResChRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithNonResChName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, resGrpParentWithNonResChName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithNonResChResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithNonResChResource.cs index 55257ef5bb2..475fe477e2f 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithNonResChResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/ResGrpParentWithNonResChResource.cs @@ -207,7 +207,9 @@ public virtual async Task> Update try { var response = await _resGrpParentWithNonResChRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -253,7 +255,9 @@ public virtual ArmOperation Update(WaitUntil w try { var response = _resGrpParentWithNonResChRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _resGrpParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new ResGrpParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ConfigurationsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ConfigurationsRestOperations.cs index f1d110d11e7..a8a045fa3fe 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ConfigurationsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ConfigurationsRestOperations.cs @@ -37,6 +37,20 @@ public ConfigurationsRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string fakeName, string configurationName, FakeConfigurationData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/configurations/", false); + uri.AppendPath(configurationName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string fakeName, string configurationName, FakeConfigurationData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string subscriptionId, str } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string fakeName, string configurationName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/configurations/", false); + uri.AppendPath(configurationName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string fakeName, string configurationName) { var message = _pipeline.CreateMessage(); @@ -205,6 +233,19 @@ public Response Get(string subscriptionId, string fakeNam } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/configurations", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string fakeName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorWithLocsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorWithLocsRestOperations.cs index f8e6c94d922..f0ded2aff0a 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorWithLocsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorWithLocsRestOperations.cs @@ -37,6 +37,20 @@ public FakeParentWithAncestorWithLocsRestOperations(HttpPipeline pipeline, strin _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string fakeName, string fakeParentWithAncestorWithLocName, FakeParentWithAncestorWithLocData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithAncestorWithLocs/", false); + uri.AppendPath(fakeParentWithAncestorWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string fakeName, string fakeParentWithAncestorWithLocName, FakeParentWithAncestorWithLocData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string subscri } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string fakeName, string fakeParentWithAncestorWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithAncestorWithLocs/", false); + uri.AppendPath(fakeParentWithAncestorWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string fakeName, string fakeParentWithAncestorWithLocName) { var message = _pipeline.CreateMessage(); @@ -205,6 +233,19 @@ public Response Get(string subscriptionId, st } } + internal RequestUriBuilder CreateListTestRequestUri(string subscriptionId, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithAncestorWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTestRequest(string subscriptionId, string fakeName) { var message = _pipeline.CreateMessage(); @@ -278,6 +319,17 @@ public Response ListTest(string subscri } } + internal RequestUriBuilder CreateListBySubscriptionRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakeParentWithAncestorWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListBySubscriptionRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -345,6 +397,19 @@ public Response ListBySubscription(stri } } + internal RequestUriBuilder CreateListTestByLocationsRequestUri(string subscriptionId, string location) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/fakeParentWithAncestorWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTestByLocationsRequest(string subscriptionId, string location) { var message = _pipeline.CreateMessage(); @@ -418,6 +483,14 @@ public Response ListTestByLocations(str } } + internal RequestUriBuilder CreateListTestNextPageRequestUri(string nextLink, string subscriptionId, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListTestNextPageRequest(string nextLink, string subscriptionId, string fakeName) { var message = _pipeline.CreateMessage(); @@ -490,6 +563,14 @@ public Response ListTestNextPage(string } } + internal RequestUriBuilder CreateListBySubscriptionNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBySubscriptionNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -558,6 +639,14 @@ public Response ListBySubscriptionNextP } } + internal RequestUriBuilder CreateListTestByLocationsNextPageRequestUri(string nextLink, string subscriptionId, string location) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListTestByLocationsNextPageRequest(string nextLink, string subscriptionId, string location) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorWithNonResChWithLocsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorWithNonResChWithLocsRestOperations.cs index 113df3c919a..f28e76452f6 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorWithNonResChWithLocsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorWithNonResChWithLocsRestOperations.cs @@ -37,6 +37,20 @@ public FakeParentWithAncestorWithNonResChWithLocsRestOperations(HttpPipeline pip _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string fakeName, string fakeParentWithAncestorWithNonResChWithLocName, FakeParentWithAncestorWithNonResChWithLocData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithAncestorWithNonResChWithLocs/", false); + uri.AppendPath(fakeParentWithAncestorWithNonResChWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string fakeName, string fakeParentWithAncestorWithNonResChWithLocName, FakeParentWithAncestorWithNonResChWithLocData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(st } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string fakeName, string fakeParentWithAncestorWithNonResChWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithAncestorWithNonResChWithLocs/", false); + uri.AppendPath(fakeParentWithAncestorWithNonResChWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string fakeName, string fakeParentWithAncestorWithNonResChWithLocName) { var message = _pipeline.CreateMessage(); @@ -205,6 +233,19 @@ public Response Get(string subscr } } + internal RequestUriBuilder CreateListTestRequestUri(string subscriptionId, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithAncestorWithNonResChWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTestRequest(string subscriptionId, string fakeName) { var message = _pipeline.CreateMessage(); @@ -278,6 +319,21 @@ public Response ListTest(st } } + internal RequestUriBuilder CreateListNonResourceChildRequestUri(string subscriptionId, string fakeName, string fakeParentWithAncestorWithNonResChWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithAncestorWithNonResChWithLocs/", false); + uri.AppendPath(fakeParentWithAncestorWithNonResChWithLocName, true); + uri.AppendPath("/nonResourceChild", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListNonResourceChildRequest(string subscriptionId, string fakeName, string fakeParentWithAncestorWithNonResChWithLocName) { var message = _pipeline.CreateMessage(); @@ -357,6 +413,17 @@ public Response ListNonResourceChild(string subscrip } } + internal RequestUriBuilder CreateListBySubscriptionRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakeParentWithAncestorWithNonResChWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListBySubscriptionRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -424,6 +491,19 @@ public Response ListBySubsc } } + internal RequestUriBuilder CreateListTestByLocationsRequestUri(string subscriptionId, string location) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/nonResourceChild", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTestByLocationsRequest(string subscriptionId, string location) { var message = _pipeline.CreateMessage(); @@ -497,6 +577,14 @@ public Response ListTestByLocations(string subscript } } + internal RequestUriBuilder CreateListTestNextPageRequestUri(string nextLink, string subscriptionId, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListTestNextPageRequest(string nextLink, string subscriptionId, string fakeName) { var message = _pipeline.CreateMessage(); @@ -569,6 +657,14 @@ public Response ListTestNex } } + internal RequestUriBuilder CreateListBySubscriptionNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBySubscriptionNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorWithNonResChesRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorWithNonResChesRestOperations.cs index 79a083de6d9..b870d9386ce 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorWithNonResChesRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorWithNonResChesRestOperations.cs @@ -37,6 +37,20 @@ public FakeParentWithAncestorWithNonResChesRestOperations(HttpPipeline pipeline, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string fakeName, string fakeParentWithAncestorWithNonResChName, FakeParentWithAncestorWithNonResChData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithAncestorWithNonResChes/", false); + uri.AppendPath(fakeParentWithAncestorWithNonResChName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string fakeName, string fakeParentWithAncestorWithNonResChName, FakeParentWithAncestorWithNonResChData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string su } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string fakeName, string fakeParentWithAncestorWithNonResChName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithAncestorWithNonResChes/", false); + uri.AppendPath(fakeParentWithAncestorWithNonResChName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string fakeName, string fakeParentWithAncestorWithNonResChName) { var message = _pipeline.CreateMessage(); @@ -205,6 +233,19 @@ public Response Get(string subscriptionI } } + internal RequestUriBuilder CreateListTestRequestUri(string subscriptionId, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithAncestorWithNonResChes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTestRequest(string subscriptionId, string fakeName) { var message = _pipeline.CreateMessage(); @@ -278,6 +319,21 @@ public Response ListTest(string su } } + internal RequestUriBuilder CreateListNonResourceChildRequestUri(string subscriptionId, string fakeName, string fakeParentWithAncestorWithNonResChName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithAncestorWithNonResChes/", false); + uri.AppendPath(fakeParentWithAncestorWithNonResChName, true); + uri.AppendPath("/nonResourceChild", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListNonResourceChildRequest(string subscriptionId, string fakeName, string fakeParentWithAncestorWithNonResChName) { var message = _pipeline.CreateMessage(); @@ -357,6 +413,17 @@ public Response ListNonResourceChild(string subscrip } } + internal RequestUriBuilder CreateListBySubscriptionRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakeParentWithAncestorWithNonResChes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListBySubscriptionRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -424,6 +491,14 @@ public Response ListBySubscription } } + internal RequestUriBuilder CreateListTestNextPageRequestUri(string nextLink, string subscriptionId, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListTestNextPageRequest(string nextLink, string subscriptionId, string fakeName) { var message = _pipeline.CreateMessage(); @@ -496,6 +571,14 @@ public Response ListTestNextPage(s } } + internal RequestUriBuilder CreateListBySubscriptionNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBySubscriptionNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorsRestOperations.cs index 4ecdb3c38dc..7cf5fc83397 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithAncestorsRestOperations.cs @@ -37,6 +37,20 @@ public FakeParentWithAncestorsRestOperations(HttpPipeline pipeline, string appli _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string fakeName, string fakeParentWithAncestorName, FakeParentWithAncestorData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithAncestors/", false); + uri.AppendPath(fakeParentWithAncestorName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string fakeName, string fakeParentWithAncestorName, FakeParentWithAncestorData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string subscriptionId } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string fakeName, string fakeParentWithAncestorName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithAncestors/", false); + uri.AppendPath(fakeParentWithAncestorName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string fakeName, string fakeParentWithAncestorName) { var message = _pipeline.CreateMessage(); @@ -205,6 +233,19 @@ public Response Get(string subscriptionId, string fa } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithAncestors", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string fakeName) { var message = _pipeline.CreateMessage(); @@ -278,6 +319,17 @@ public Response List(string subscriptionId, st } } + internal RequestUriBuilder CreateListBySubscriptionRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakeParentWithAncestors", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListBySubscriptionRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -345,6 +397,14 @@ public Response ListBySubscription(string subs } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string fakeName) { var message = _pipeline.CreateMessage(); @@ -417,6 +477,14 @@ public Response ListNextPage(string nextLink, } } + internal RequestUriBuilder CreateListBySubscriptionNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBySubscriptionNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithNonResChesRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithNonResChesRestOperations.cs index 069ea055d75..fc3e7551ef7 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithNonResChesRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentWithNonResChesRestOperations.cs @@ -37,6 +37,20 @@ public FakeParentWithNonResChesRestOperations(HttpPipeline pipeline, string appl _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string fakeName, string fakeParentWithNonResChName, FakeParentWithNonResChData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithNonResChes/", false); + uri.AppendPath(fakeParentWithNonResChName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string fakeName, string fakeParentWithNonResChName, FakeParentWithNonResChData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string subscriptionId } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string fakeName, string fakeParentWithNonResChName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithNonResChes/", false); + uri.AppendPath(fakeParentWithNonResChName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string fakeName, string fakeParentWithNonResChName) { var message = _pipeline.CreateMessage(); @@ -205,6 +233,21 @@ public Response Get(string subscriptionId, string fa } } + internal RequestUriBuilder CreateListNonResourceChildRequestUri(string subscriptionId, string fakeName, string fakeParentWithNonResChName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithNonResChes/", false); + uri.AppendPath(fakeParentWithNonResChName, true); + uri.AppendPath("/nonResourceChild", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListNonResourceChildRequest(string subscriptionId, string fakeName, string fakeParentWithNonResChName) { var message = _pipeline.CreateMessage(); @@ -284,6 +327,19 @@ public Response ListNonResourceChild(string subscrip } } + internal RequestUriBuilder CreateListTestRequestUri(string subscriptionId, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParentWithNonResChes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTestRequest(string subscriptionId, string fakeName) { var message = _pipeline.CreateMessage(); @@ -357,6 +413,14 @@ public Response ListTest(string subscriptionId } } + internal RequestUriBuilder CreateListTestNextPageRequestUri(string nextLink, string subscriptionId, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListTestNextPageRequest(string nextLink, string subscriptionId, string fakeName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentsRestOperations.cs index 7e73987ebb1..340692127b4 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakeParentsRestOperations.cs @@ -37,6 +37,20 @@ public FakeParentsRestOperations(HttpPipeline pipeline, string applicationId, Ur _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string fakeName, string fakeParentName, FakeParentData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParents/", false); + uri.AppendPath(fakeParentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string fakeName, string fakeParentName, FakeParentData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string subscriptionId, string fak } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string fakeName, string fakeParentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParents/", false); + uri.AppendPath(fakeParentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string fakeName, string fakeParentName) { var message = _pipeline.CreateMessage(); @@ -205,6 +233,19 @@ public Response Get(string subscriptionId, string fakeName, stri } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/fakeParents", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string fakeName) { var message = _pipeline.CreateMessage(); @@ -278,6 +319,14 @@ public Response List(string subscriptionId, string fakeNam } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string fakeName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakesRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakesRestOperations.cs index 0db018b658c..30e85593429 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakesRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/FakesRestOperations.cs @@ -37,6 +37,18 @@ public FakesRestOperations(HttpPipeline pipeline, string applicationId, Uri endp _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string fakeName, FakeData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string fakeName, FakeData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,22 @@ public Response CreateOrUpdate(string subscriptionId, string fakeName, } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string fakeName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string fakeName, string expand) { var message = _pipeline.CreateMessage(); @@ -199,6 +227,21 @@ public Response Get(string subscriptionId, string fakeName, string exp } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string optionalParam) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes", false); + if (optionalParam != null) + { + uri.AppendQuery("optionalParam", optionalParam, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string optionalParam) { var message = _pipeline.CreateMessage(); @@ -272,6 +315,19 @@ public Response List(string subscriptionId, string optionalParam } } + internal RequestUriBuilder CreateUpdateConfigurationsRequestUri(string subscriptionId, string fakeName, FakeConfigurationListResult value) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName, true); + uri.AppendPath("/updateConfigurations", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateConfigurationsRequest(string subscriptionId, string fakeName, FakeConfigurationListResult value) { var message = _pipeline.CreateMessage(); @@ -353,6 +409,14 @@ public Response UpdateConfigurations(string subscri } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string optionalParam) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string optionalParam) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGroupParentsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGroupParentsRestOperations.cs index d894f11ed06..f96e79a37ee 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGroupParentsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGroupParentsRestOperations.cs @@ -37,6 +37,18 @@ public MgmtGroupParentsRestOperations(HttpPipeline pipeline, string applicationI _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string groupId, string mgmtGroupParentName, MgmtGroupParentData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/mgmtGroupParents/", false); + uri.AppendPath(mgmtGroupParentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string groupId, string mgmtGroupParentName, MgmtGroupParentData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,18 @@ public Response CreateOrUpdate(string groupId, string mgmtG } } + internal RequestUriBuilder CreateGetRequestUri(string groupId, string mgmtGroupParentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/mgmtGroupParents/", false); + uri.AppendPath(mgmtGroupParentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string groupId, string mgmtGroupParentName) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,17 @@ public Response Get(string groupId, string mgmtGroupParentN } } + internal RequestUriBuilder CreateListRequestUri(string groupId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/mgmtGroupParents", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string groupId) { var message = _pipeline.CreateMessage(); @@ -260,6 +295,14 @@ public Response List(string groupId, CancellationToke } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string groupId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string groupId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGrpParentWithLocsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGrpParentWithLocsRestOperations.cs index bdc344b432c..ba3e6c8ccf3 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGrpParentWithLocsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGrpParentWithLocsRestOperations.cs @@ -37,6 +37,18 @@ public MgmtGrpParentWithLocsRestOperations(HttpPipeline pipeline, string applica _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string groupId, string mgmtGrpParentWithLocName, MgmtGrpParentWithLocData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/mgmtGrpParentWithLocs/", false); + uri.AppendPath(mgmtGrpParentWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string groupId, string mgmtGrpParentWithLocName, MgmtGrpParentWithLocData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,18 @@ public Response CreateOrUpdate(string groupId, string } } + internal RequestUriBuilder CreateGetRequestUri(string groupId, string mgmtGrpParentWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/mgmtGrpParentWithLocs/", false); + uri.AppendPath(mgmtGrpParentWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string groupId, string mgmtGrpParentWithLocName) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,17 @@ public Response Get(string groupId, string mgmtGrpPare } } + internal RequestUriBuilder CreateListRequestUri(string groupId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/mgmtGrpParentWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string groupId) { var message = _pipeline.CreateMessage(); @@ -260,6 +295,14 @@ public Response List(string groupId, Cancellatio } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string groupId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string groupId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGrpParentWithNonResChWithLocsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGrpParentWithNonResChWithLocsRestOperations.cs index b3167af324e..2647cc5d98b 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGrpParentWithNonResChWithLocsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGrpParentWithNonResChWithLocsRestOperations.cs @@ -37,6 +37,18 @@ public MgmtGrpParentWithNonResChWithLocsRestOperations(HttpPipeline pipeline, st _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string groupId, string mgmtGrpParentWithNonResChWithLocName, MgmtGrpParentWithNonResChWithLocData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/mgmtGrpParentWithNonResChWithLocs/", false); + uri.AppendPath(mgmtGrpParentWithNonResChWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string groupId, string mgmtGrpParentWithNonResChWithLocName, MgmtGrpParentWithNonResChWithLocData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,18 @@ public Response CreateOrUpdate(string grou } } + internal RequestUriBuilder CreateGetRequestUri(string groupId, string mgmtGrpParentWithNonResChWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/mgmtGrpParentWithNonResChWithLocs/", false); + uri.AppendPath(mgmtGrpParentWithNonResChWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string groupId, string mgmtGrpParentWithNonResChWithLocName) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,17 @@ public Response Get(string groupId, string } } + internal RequestUriBuilder CreateListRequestUri(string groupId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/mgmtGrpParentWithNonResChWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string groupId) { var message = _pipeline.CreateMessage(); @@ -260,6 +295,19 @@ public Response List(string groupId, } } + internal RequestUriBuilder CreateListNonResourceChildRequestUri(string groupId, string mgmtGrpParentWithNonResChWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/mgmtGrpParentWithNonResChWithLocs/", false); + uri.AppendPath(mgmtGrpParentWithNonResChWithLocName, true); + uri.AppendPath("/nonResourceChild", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListNonResourceChildRequest(string groupId, string mgmtGrpParentWithNonResChWithLocName) { var message = _pipeline.CreateMessage(); @@ -333,6 +381,14 @@ public Response ListNonResourceChild(string groupId, } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string groupId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string groupId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGrpParentWithNonResChesRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGrpParentWithNonResChesRestOperations.cs index 84cedd6926b..3358b5bc209 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGrpParentWithNonResChesRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/MgmtGrpParentWithNonResChesRestOperations.cs @@ -37,6 +37,18 @@ public MgmtGrpParentWithNonResChesRestOperations(HttpPipeline pipeline, string a _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string groupId, string mgmtGrpParentWithNonResChName, MgmtGrpParentWithNonResChData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/mgmtGrpParentWithNonResChes/", false); + uri.AppendPath(mgmtGrpParentWithNonResChName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string groupId, string mgmtGrpParentWithNonResChName, MgmtGrpParentWithNonResChData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,18 @@ public Response CreateOrUpdate(string groupId, st } } + internal RequestUriBuilder CreateGetRequestUri(string groupId, string mgmtGrpParentWithNonResChName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/mgmtGrpParentWithNonResChes/", false); + uri.AppendPath(mgmtGrpParentWithNonResChName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string groupId, string mgmtGrpParentWithNonResChName) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,17 @@ public Response Get(string groupId, string mgmtGr } } + internal RequestUriBuilder CreateListRequestUri(string groupId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/mgmtGrpParentWithNonResChes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string groupId) { var message = _pipeline.CreateMessage(); @@ -260,6 +295,19 @@ public Response List(string groupId, Cancel } } + internal RequestUriBuilder CreateListNonResourceChildRequestUri(string groupId, string mgmtGrpParentWithNonResChName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/mgmtGrpParentWithNonResChes/", false); + uri.AppendPath(mgmtGrpParentWithNonResChName, true); + uri.AppendPath("/nonResourceChild", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListNonResourceChildRequest(string groupId, string mgmtGrpParentWithNonResChName) { var message = _pipeline.CreateMessage(); @@ -333,6 +381,14 @@ public Response ListNonResourceChild(string groupId, } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string groupId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string groupId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/QuotasRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/QuotasRestOperations.cs index 8d35ad363f0..d0cdff68e69 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/QuotasRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/QuotasRestOperations.cs @@ -37,6 +37,19 @@ public QuotasRestOperations(HttpPipeline pipeline, string applicationId, Uri end _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string location, QuotaUpdateContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/updateQuotas", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string location, QuotaUpdateContent content) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorWithLocsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorWithLocsRestOperations.cs index cde12082ac7..8e5918f3a8a 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorWithLocsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorWithLocsRestOperations.cs @@ -37,6 +37,20 @@ public ResGrpParentWithAncestorWithLocsRestOperations(HttpPipeline pipeline, str _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithLocName, ResGrpParentWithAncestorWithLocData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestorWithLocs/", false); + uri.AppendPath(resGrpParentWithAncestorWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithLocName, ResGrpParentWithAncestorWithLocData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string subsc } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestorWithLocs/", false); + uri.AppendPath(resGrpParentWithAncestorWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithLocName) { var message = _pipeline.CreateMessage(); @@ -205,6 +233,19 @@ public Response Get(string subscriptionId, } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestorWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -278,6 +319,17 @@ public Response List(string subscript } } + internal RequestUriBuilder CreateListTestRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestorWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTestRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -345,6 +397,19 @@ public Response ListTest(string subsc } } + internal RequestUriBuilder CreateListAllRequestUri(string subscriptionId, string location) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/resGrpParentWithAncestorWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListAllRequest(string subscriptionId, string location) { var message = _pipeline.CreateMessage(); @@ -418,6 +483,14 @@ public Response ListAll(s } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -490,6 +563,14 @@ public Response ListNextPage(string n } } + internal RequestUriBuilder CreateListTestNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListTestNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -558,6 +639,14 @@ public Response ListTestNextPage(stri } } + internal RequestUriBuilder CreateListAllNextPageRequestUri(string nextLink, string subscriptionId, string location) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListAllNextPageRequest(string nextLink, string subscriptionId, string location) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorWithNonResChWithLocsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorWithNonResChWithLocsRestOperations.cs index 5814e37e428..2d672f64b11 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorWithNonResChWithLocsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorWithNonResChWithLocsRestOperations.cs @@ -37,6 +37,20 @@ public ResGrpParentWithAncestorWithNonResChWithLocsRestOperations(HttpPipeline p _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithNonResChWithLocName, ResGrpParentWithAncestorWithNonResChWithLocData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestorWithNonResChWithLocs/", false); + uri.AppendPath(resGrpParentWithAncestorWithNonResChWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithNonResChWithLocName, ResGrpParentWithAncestorWithNonResChWithLocData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate( } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithNonResChWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestorWithNonResChWithLocs/", false); + uri.AppendPath(resGrpParentWithAncestorWithNonResChWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithNonResChWithLocName) { var message = _pipeline.CreateMessage(); @@ -205,6 +233,19 @@ public Response Get(string subs } } + internal RequestUriBuilder CreateListTestRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestorWithNonResChWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTestRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -278,6 +319,21 @@ public Response ListTest( } } + internal RequestUriBuilder CreateListNonResourceChildRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithNonResChWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestorWithNonResChWithLocs/", false); + uri.AppendPath(resGrpParentWithAncestorWithNonResChWithLocName, true); + uri.AppendPath("/nonResourceChild", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListNonResourceChildRequest(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithNonResChWithLocName) { var message = _pipeline.CreateMessage(); @@ -357,6 +413,21 @@ public Response ListNonResourceChild(string subscrip } } + internal RequestUriBuilder CreateListBySubscriptionRequestUri(string subscriptionId, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestorWithNonResChWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + return uri; + } + internal HttpMessage CreateListBySubscriptionRequest(string subscriptionId, string expand) { var message = _pipeline.CreateMessage(); @@ -430,6 +501,14 @@ public Response ListBySub } } + internal RequestUriBuilder CreateListTestNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListTestNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -502,6 +581,14 @@ public Response ListTestN } } + internal RequestUriBuilder CreateListBySubscriptionNextPageRequestUri(string nextLink, string subscriptionId, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBySubscriptionNextPageRequest(string nextLink, string subscriptionId, string expand) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorWithNonResChesRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorWithNonResChesRestOperations.cs index 14976497c3e..13538640ad2 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorWithNonResChesRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorWithNonResChesRestOperations.cs @@ -37,6 +37,20 @@ public ResGrpParentWithAncestorWithNonResChesRestOperations(HttpPipeline pipelin _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithNonResChName, ResGrpParentWithAncestorWithNonResChData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestorWithNonResChes/", false); + uri.AppendPath(resGrpParentWithAncestorWithNonResChName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithNonResChName, ResGrpParentWithAncestorWithNonResChData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithNonResChName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestorWithNonResChes/", false); + uri.AppendPath(resGrpParentWithAncestorWithNonResChName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithNonResChName) { var message = _pipeline.CreateMessage(); @@ -205,6 +233,19 @@ public Response Get(string subscriptio } } + internal RequestUriBuilder CreateListTestRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestorWithNonResChes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTestRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -278,6 +319,21 @@ public Response ListTest(string } } + internal RequestUriBuilder CreateListNonResourceChildRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithNonResChName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestorWithNonResChes/", false); + uri.AppendPath(resGrpParentWithAncestorWithNonResChName, true); + uri.AppendPath("/nonResourceChild", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListNonResourceChildRequest(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorWithNonResChName) { var message = _pipeline.CreateMessage(); @@ -357,6 +413,21 @@ public Response ListNonResourceChild(string subscrip } } + internal RequestUriBuilder CreateListBySubscriptionRequestUri(string subscriptionId, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestorWithNonResChes", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + return uri; + } + internal HttpMessage CreateListBySubscriptionRequest(string subscriptionId, string expand) { var message = _pipeline.CreateMessage(); @@ -430,6 +501,14 @@ public Response ListBySubscripti } } + internal RequestUriBuilder CreateListTestNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListTestNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -502,6 +581,14 @@ public Response ListTestNextPage } } + internal RequestUriBuilder CreateListBySubscriptionNextPageRequestUri(string nextLink, string subscriptionId, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBySubscriptionNextPageRequest(string nextLink, string subscriptionId, string expand) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorsRestOperations.cs index d9b6c000bc0..5537c1f1156 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithAncestorsRestOperations.cs @@ -37,6 +37,20 @@ public ResGrpParentWithAncestorsRestOperations(HttpPipeline pipeline, string app _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorName, ResGrpParentWithAncestorData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestors/", false); + uri.AppendPath(resGrpParentWithAncestorName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorName, ResGrpParentWithAncestorData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string subscription } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestors/", false); + uri.AppendPath(resGrpParentWithAncestorName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string resGrpParentWithAncestorName) { var message = _pipeline.CreateMessage(); @@ -205,6 +233,19 @@ public Response Get(string subscriptionId, string } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestors", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -278,6 +319,17 @@ public Response List(string subscriptionId, } } + internal RequestUriBuilder CreateNonPageableListBySubscriptionRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithAncestors", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateNonPageableListBySubscriptionRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -345,6 +397,14 @@ public Response NonPageableListBySubscriptio } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithNonResChesRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithNonResChesRestOperations.cs index 4071c25ad2c..b93c5438eec 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithNonResChesRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentWithNonResChesRestOperations.cs @@ -37,6 +37,20 @@ public ResGrpParentWithNonResChesRestOperations(HttpPipeline pipeline, string ap _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentWithNonResChName, ResGrpParentWithNonResChData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithNonResChes/", false); + uri.AppendPath(resGrpParentWithNonResChName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string resGrpParentWithNonResChName, ResGrpParentWithNonResChData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string subscription } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentWithNonResChName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithNonResChes/", false); + uri.AppendPath(resGrpParentWithNonResChName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string resGrpParentWithNonResChName) { var message = _pipeline.CreateMessage(); @@ -205,6 +233,19 @@ public Response Get(string subscriptionId, string } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithNonResChes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -278,6 +319,21 @@ public Response List(string subscriptionId, } } + internal RequestUriBuilder CreateListNonResourceChildRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentWithNonResChName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParentWithNonResChes/", false); + uri.AppendPath(resGrpParentWithNonResChName, true); + uri.AppendPath("/nonResourceChild", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListNonResourceChildRequest(string subscriptionId, string resourceGroupName, string resGrpParentWithNonResChName) { var message = _pipeline.CreateMessage(); @@ -357,6 +413,14 @@ public Response ListNonResourceChild(string subscrip } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentsRestOperations.cs index 04ed0a1d3bc..558a10a7cc9 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/ResGrpParentsRestOperations.cs @@ -37,6 +37,20 @@ public ResGrpParentsRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentName, ResGrpParentData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParents/", false); + uri.AppendPath(resGrpParentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string resGrpParentName, ResGrpParentData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string subscriptionId, string r } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string resGrpParentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParents/", false); + uri.AppendPath(resGrpParentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string resGrpParentName) { var message = _pipeline.CreateMessage(); @@ -205,6 +233,19 @@ public Response Get(string subscriptionId, string resourceGrou } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/resGrpParents", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentWithLocsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentWithLocsRestOperations.cs index b8c0c55eb99..c363a8fcdbd 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentWithLocsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentWithLocsRestOperations.cs @@ -37,6 +37,18 @@ public SubParentWithLocsRestOperations(HttpPipeline pipeline, string application _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string subParentWithLocName, SubParentWithLocData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/subParentWithLocs/", false); + uri.AppendPath(subParentWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string subParentWithLocName, SubParentWithLocData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,18 @@ public Response CreateOrUpdate(string subscriptionId, stri } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string subParentWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/subParentWithLocs/", false); + uri.AppendPath(subParentWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string subParentWithLocName) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,17 @@ public Response Get(string subscriptionId, string subParen } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/subParentWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -260,6 +295,14 @@ public Response List(string subscriptionId, Cancella } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentWithNonResChWithLocsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentWithNonResChWithLocsRestOperations.cs index 6deae696d1a..8399a485b6d 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentWithNonResChWithLocsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentWithNonResChWithLocsRestOperations.cs @@ -37,6 +37,18 @@ public SubParentWithNonResChWithLocsRestOperations(HttpPipeline pipeline, string _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string subParentWithNonResChWithLocName, SubParentWithNonResChWithLocData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/subParentWithNonResChWithLocs/", false); + uri.AppendPath(subParentWithNonResChWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string subParentWithNonResChWithLocName, SubParentWithNonResChWithLocData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,18 @@ public Response CreateOrUpdate(string subscrip } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string subParentWithNonResChWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/subParentWithNonResChWithLocs/", false); + uri.AppendPath(subParentWithNonResChWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string subParentWithNonResChWithLocName) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,17 @@ public Response Get(string subscriptionId, str } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/subParentWithNonResChWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -260,6 +295,19 @@ public Response List(string subscription } } + internal RequestUriBuilder CreateListNonResourceChildRequestUri(string subscriptionId, string subParentWithNonResChWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/subParentWithNonResChWithLocs/", false); + uri.AppendPath(subParentWithNonResChWithLocName, true); + uri.AppendPath("/nonResourceChild", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListNonResourceChildRequest(string subscriptionId, string subParentWithNonResChWithLocName) { var message = _pipeline.CreateMessage(); @@ -333,6 +381,14 @@ public Response ListNonResourceChild(string subscrip } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentWithNonResChesRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentWithNonResChesRestOperations.cs index d2c1a26f116..f702f74098c 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentWithNonResChesRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentWithNonResChesRestOperations.cs @@ -37,6 +37,18 @@ public SubParentWithNonResChesRestOperations(HttpPipeline pipeline, string appli _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string subParentWithNonResChName, SubParentWithNonResChData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/subParentWithNonResChes/", false); + uri.AppendPath(subParentWithNonResChName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string subParentWithNonResChName, SubParentWithNonResChData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,18 @@ public Response CreateOrUpdate(string subscriptionId, } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string subParentWithNonResChName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/subParentWithNonResChes/", false); + uri.AppendPath(subParentWithNonResChName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string subParentWithNonResChName) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,17 @@ public Response Get(string subscriptionId, string sub } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/subParentWithNonResChes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -260,6 +295,19 @@ public Response List(string subscriptionId, Can } } + internal RequestUriBuilder CreateListNonResourceChildRequestUri(string subscriptionId, string subParentWithNonResChName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/subParentWithNonResChes/", false); + uri.AppendPath(subParentWithNonResChName, true); + uri.AppendPath("/nonResourceChild", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListNonResourceChildRequest(string subscriptionId, string subParentWithNonResChName) { var message = _pipeline.CreateMessage(); @@ -333,6 +381,14 @@ public Response ListNonResourceChild(string subscrip } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentsRestOperations.cs index a27668cb6d8..2910414ba40 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/SubParentsRestOperations.cs @@ -37,6 +37,18 @@ public SubParentsRestOperations(HttpPipeline pipeline, string applicationId, Uri _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string subParentName, SubParentData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/subParents/", false); + uri.AppendPath(subParentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string subParentName, SubParentData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,18 @@ public Response CreateOrUpdate(string subscriptionId, string subP } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string subParentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/subParents/", false); + uri.AppendPath(subParentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string subParentName) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,17 @@ public Response Get(string subscriptionId, string subParentName, } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.MgmtListMethods/subParents", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -260,6 +295,14 @@ public Response List(string subscriptionId, CancellationTok } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentWithLocsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentWithLocsRestOperations.cs index 4c1288c79e1..bc3647be937 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentWithLocsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentWithLocsRestOperations.cs @@ -37,6 +37,18 @@ public TenantParentWithLocsRestOperations(HttpPipeline pipeline, string applicat _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string tenantTestName, string tenantParentWithLocName, TenantParentWithLocData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendPath("/tenantParentWithLocs/", false); + uri.AppendPath(tenantParentWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string tenantTestName, string tenantParentWithLocName, TenantParentWithLocData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,18 @@ public Response CreateOrUpdate(string tenantTestName, s } } + internal RequestUriBuilder CreateGetRequestUri(string tenantTestName, string tenantParentWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendPath("/tenantParentWithLocs/", false); + uri.AppendPath(tenantParentWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string tenantTestName, string tenantParentWithLocName) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,17 @@ public Response Get(string tenantTestName, string tenan } } + internal RequestUriBuilder CreateListRequestUri(string tenantTestName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendPath("/tenantParentWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string tenantTestName) { var message = _pipeline.CreateMessage(); @@ -260,6 +295,14 @@ public Response List(string tenantTestName, Cance } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string tenantTestName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string tenantTestName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentWithNonResChWithLocsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentWithNonResChWithLocsRestOperations.cs index 55f18cf251e..2fa850a19d9 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentWithNonResChWithLocsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentWithNonResChWithLocsRestOperations.cs @@ -37,6 +37,18 @@ public TenantParentWithNonResChWithLocsRestOperations(HttpPipeline pipeline, str _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string tenantTestName, string tenantParentWithNonResChWithLocName, TenantParentWithNonResChWithLocData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendPath("/tenantParentWithNonResChWithLocs/", false); + uri.AppendPath(tenantParentWithNonResChWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string tenantTestName, string tenantParentWithNonResChWithLocName, TenantParentWithNonResChWithLocData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,18 @@ public Response CreateOrUpdate(string tenan } } + internal RequestUriBuilder CreateGetRequestUri(string tenantTestName, string tenantParentWithNonResChWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendPath("/tenantParentWithNonResChWithLocs/", false); + uri.AppendPath(tenantParentWithNonResChWithLocName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string tenantTestName, string tenantParentWithNonResChWithLocName) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,17 @@ public Response Get(string tenantTestName, } } + internal RequestUriBuilder CreateListRequestUri(string tenantTestName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendPath("/tenantParentWithNonResChWithLocs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string tenantTestName) { var message = _pipeline.CreateMessage(); @@ -260,6 +295,19 @@ public Response List(string tenantTes } } + internal RequestUriBuilder CreateListNonResourceChildRequestUri(string tenantTestName, string tenantParentWithNonResChWithLocName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendPath("/tenantParentWithNonResChWithLocs/", false); + uri.AppendPath(tenantParentWithNonResChWithLocName, true); + uri.AppendPath("/nonResourceChild", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListNonResourceChildRequest(string tenantTestName, string tenantParentWithNonResChWithLocName) { var message = _pipeline.CreateMessage(); @@ -333,6 +381,14 @@ public Response ListNonResourceChild(string tenantTe } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string tenantTestName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string tenantTestName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentWithNonResChesRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentWithNonResChesRestOperations.cs index db2d65895c1..68c943f0780 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentWithNonResChesRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentWithNonResChesRestOperations.cs @@ -37,6 +37,18 @@ public TenantParentWithNonResChesRestOperations(HttpPipeline pipeline, string ap _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string tenantTestName, string tenantParentWithNonResChName, TenantParentWithNonResChData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendPath("/tenantParentWithNonResChes/", false); + uri.AppendPath(tenantParentWithNonResChName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string tenantTestName, string tenantParentWithNonResChName, TenantParentWithNonResChData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,18 @@ public Response CreateOrUpdate(string tenantTestNa } } + internal RequestUriBuilder CreateGetRequestUri(string tenantTestName, string tenantParentWithNonResChName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendPath("/tenantParentWithNonResChes/", false); + uri.AppendPath(tenantParentWithNonResChName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string tenantTestName, string tenantParentWithNonResChName) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,17 @@ public Response Get(string tenantTestName, string } } + internal RequestUriBuilder CreateListRequestUri(string tenantTestName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendPath("/tenantParentWithNonResChes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string tenantTestName) { var message = _pipeline.CreateMessage(); @@ -260,6 +295,19 @@ public Response List(string tenantTestName, } } + internal RequestUriBuilder CreateListNonResourceChildRequestUri(string tenantTestName, string tenantParentWithNonResChName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendPath("/tenantParentWithNonResChes/", false); + uri.AppendPath(tenantParentWithNonResChName, true); + uri.AppendPath("/nonResourceChild", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListNonResourceChildRequest(string tenantTestName, string tenantParentWithNonResChName) { var message = _pipeline.CreateMessage(); @@ -333,6 +381,14 @@ public Response ListNonResourceChild(string tenantTe } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string tenantTestName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string tenantTestName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentsRestOperations.cs index 38440e86417..042d9599f39 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantParentsRestOperations.cs @@ -37,6 +37,18 @@ public TenantParentsRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string tenantTestName, string tenantParentName, TenantParentData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendPath("/tenantParents/", false); + uri.AppendPath(tenantParentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string tenantTestName, string tenantParentName, TenantParentData data) { var message = _pipeline.CreateMessage(); @@ -117,6 +129,18 @@ public Response CreateOrUpdate(string tenantTestName, string t } } + internal RequestUriBuilder CreateGetRequestUri(string tenantTestName, string tenantParentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendPath("/tenantParents/", false); + uri.AppendPath(tenantParentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string tenantTestName, string tenantParentName) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,17 @@ public Response Get(string tenantTestName, string tenantParent } } + internal RequestUriBuilder CreateListRequestUri(string tenantTestName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendPath("/tenantParents", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string tenantTestName) { var message = _pipeline.CreateMessage(); @@ -260,6 +295,14 @@ public Response List(string tenantTestName, Cancellation } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string tenantTestName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string tenantTestName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantTestsRestOperations.cs b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantTestsRestOperations.cs index 0ede24922f0..186d632730e 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantTestsRestOperations.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/RestOperations/TenantTestsRestOperations.cs @@ -37,6 +37,20 @@ public TenantTestsRestOperations(HttpPipeline pipeline, string applicationId, Ur _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetRequestUri(string tenantTestName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendQuery("api-version", _apiVersion, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + return uri; + } + internal HttpMessage CreateGetRequest(string tenantTestName, string expand) { var message = _pipeline.CreateMessage(); @@ -113,6 +127,16 @@ public Response Get(string tenantTestName, string expand = null, } } + internal RequestUriBuilder CreateCreateRequestUri(string tenantTestName, TenantTestData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests/", false); + uri.AppendPath(tenantTestName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateRequest(string tenantTestName, TenantTestData data) { var message = _pipeline.CreateMessage(); @@ -177,6 +201,19 @@ public Response Create(string tenantTestName, TenantTestData data, CancellationT } } + internal RequestUriBuilder CreateListRequestUri(string optionalParam) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Tenant/tenantTests", false); + if (optionalParam != null) + { + uri.AppendQuery("optionalParam", optionalParam, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string optionalParam) { var message = _pipeline.CreateMessage(); @@ -238,6 +275,14 @@ public Response List(string optionalParam = null, Cancella } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string optionalParam) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string optionalParam) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtListMethods/src/Generated/SubParentCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/SubParentCollection.cs index 12eaa43bbc2..837d197570a 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/SubParentCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/SubParentCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateAsync(W try { var response = await _subParentRestClient.CreateOrUpdateAsync(Id.SubscriptionId, subParentName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentResource(Client, response), response.GetRawResponse())); + var uri = _subParentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, subParentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUnti try { var response = _subParentRestClient.CreateOrUpdate(Id.SubscriptionId, subParentName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentResource(Client, response), response.GetRawResponse())); + var uri = _subParentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, subParentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/SubParentResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/SubParentResource.cs index 89c8eebeb2b..412fc14d7fd 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/SubParentResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/SubParentResource.cs @@ -204,7 +204,9 @@ public virtual async Task> UpdateAsync(WaitUntil try { var response = await _subParentRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentResource(Client, response), response.GetRawResponse())); + var uri = _subParentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -250,7 +252,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, SubPa try { var response = _subParentRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentResource(Client, response), response.GetRawResponse())); + var uri = _subParentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithLocCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithLocCollection.cs index a28be17506f..22555762759 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithLocCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithLocCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdate try { var response = await _subParentWithLocRestClient.CreateOrUpdateAsync(Id.SubscriptionId, subParentWithLocName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithLocResource(Client, response), response.GetRawResponse())); + var uri = _subParentWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, subParentWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil w try { var response = _subParentWithLocRestClient.CreateOrUpdate(Id.SubscriptionId, subParentWithLocName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithLocResource(Client, response), response.GetRawResponse())); + var uri = _subParentWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, subParentWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithLocResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithLocResource.cs index 43c43a53977..c1c7de51f3f 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithLocResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithLocResource.cs @@ -204,7 +204,9 @@ public virtual async Task> UpdateAsync(Wa try { var response = await _subParentWithLocRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithLocResource(Client, response), response.GetRawResponse())); + var uri = _subParentWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -250,7 +252,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil try { var response = _subParentWithLocRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithLocResource(Client, response), response.GetRawResponse())); + var uri = _subParentWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChCollection.cs index 9b07ef7d238..3df1c4adae8 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrU try { var response = await _subParentWithNonResChRestClient.CreateOrUpdateAsync(Id.SubscriptionId, subParentWithNonResChName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _subParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, subParentWithNonResChName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUn try { var response = _subParentWithNonResChRestClient.CreateOrUpdate(Id.SubscriptionId, subParentWithNonResChName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _subParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, subParentWithNonResChName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChResource.cs index 41ae5ccc7b2..dcd8ec4b8e8 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChResource.cs @@ -206,7 +206,9 @@ public virtual async Task> UpdateAsy try { var response = await _subParentWithNonResChRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _subParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -252,7 +254,9 @@ public virtual ArmOperation Update(WaitUntil wait try { var response = _subParentWithNonResChRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _subParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChWithLocCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChWithLocCollection.cs index 65359c467a4..fe6ee855ff2 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChWithLocCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChWithLocCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> Cr try { var response = await _subParentWithNonResChWithLocRestClient.CreateOrUpdateAsync(Id.SubscriptionId, subParentWithNonResChWithLocName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _subParentWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, subParentWithNonResChWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate try { var response = _subParentWithNonResChWithLocRestClient.CreateOrUpdate(Id.SubscriptionId, subParentWithNonResChWithLocName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _subParentWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, subParentWithNonResChWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChWithLocResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChWithLocResource.cs index a87f3ecf155..4fceb9b2f5f 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChWithLocResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/SubParentWithNonResChWithLocResource.cs @@ -206,7 +206,9 @@ public virtual async Task> Up try { var response = await _subParentWithNonResChWithLocRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _subParentWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -252,7 +254,9 @@ public virtual ArmOperation Update(WaitUnt try { var response = _subParentWithNonResChWithLocRestClient.CreateOrUpdate(Id.SubscriptionId, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _subParentWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new SubParentWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentCollection.cs index 67c003281b8..daef3184c3f 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAsyn try { var response = await _tenantParentRestClient.CreateOrUpdateAsync(Id.Name, tenantParentName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentRestClient.CreateCreateOrUpdateRequestUri(Id.Name, tenantParentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitU try { var response = _tenantParentRestClient.CreateOrUpdate(Id.Name, tenantParentName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentRestClient.CreateCreateOrUpdateRequestUri(Id.Name, tenantParentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentResource.cs index 7d4eedc31af..24a2d131196 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentResource.cs @@ -203,7 +203,9 @@ public virtual async Task> UpdateAsync(WaitUn try { var response = await _tenantParentRestClient.CreateOrUpdateAsync(Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -249,7 +251,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, Te try { var response = _tenantParentRestClient.CreateOrUpdate(Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithLocCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithLocCollection.cs index a57aecbfa68..42284a8cf70 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithLocCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithLocCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpd try { var response = await _tenantParentWithLocRestClient.CreateOrUpdateAsync(Id.Name, tenantParentWithLocName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithLocResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Name, tenantParentWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUnti try { var response = _tenantParentWithLocRestClient.CreateOrUpdate(Id.Name, tenantParentWithLocName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithLocResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Name, tenantParentWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithLocResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithLocResource.cs index c21ffe8ac41..784b7083106 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithLocResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithLocResource.cs @@ -203,7 +203,9 @@ public virtual async Task> UpdateAsync try { var response = await _tenantParentWithLocRestClient.CreateOrUpdateAsync(Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithLocResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -249,7 +251,9 @@ public virtual ArmOperation Update(WaitUntil waitUn try { var response = _tenantParentWithLocRestClient.CreateOrUpdate(Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithLocResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChCollection.cs index 7ec6484b0c4..0624ee97d92 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> Create try { var response = await _tenantParentWithNonResChRestClient.CreateOrUpdateAsync(Id.Name, tenantParentWithNonResChName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.Name, tenantParentWithNonResChName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdate(Wai try { var response = _tenantParentWithNonResChRestClient.CreateOrUpdate(Id.Name, tenantParentWithNonResChName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.Name, tenantParentWithNonResChName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChResource.cs index 29ee10855f0..0a47b72e770 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChResource.cs @@ -205,7 +205,9 @@ public virtual async Task> Update try { var response = await _tenantParentWithNonResChRestClient.CreateOrUpdateAsync(Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -251,7 +253,9 @@ public virtual ArmOperation Update(WaitUntil w try { var response = _tenantParentWithNonResChRestClient.CreateOrUpdate(Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentWithNonResChRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChWithLocCollection.cs b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChWithLocCollection.cs index 886cc33d090..861210a6e76 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChWithLocCollection.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChWithLocCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> try { var response = await _tenantParentWithNonResChWithLocRestClient.CreateOrUpdateAsync(Id.Name, tenantParentWithNonResChWithLocName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Name, tenantParentWithNonResChWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpd try { var response = _tenantParentWithNonResChWithLocRestClient.CreateOrUpdate(Id.Name, tenantParentWithNonResChWithLocName, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Name, tenantParentWithNonResChWithLocName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChWithLocResource.cs b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChWithLocResource.cs index ed4ee1cd907..63dbd72ad9f 100644 --- a/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChWithLocResource.cs +++ b/test/TestProjects/MgmtListMethods/src/Generated/TenantParentWithNonResChWithLocResource.cs @@ -205,7 +205,9 @@ public virtual async Task> try { var response = await _tenantParentWithNonResChWithLocRestClient.CreateOrUpdateAsync(Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -251,7 +253,9 @@ public virtual ArmOperation Update(Wait try { var response = _tenantParentWithNonResChWithLocRestClient.CreateOrUpdate(Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChWithLocResource(Client, response), response.GetRawResponse())); + var uri = _tenantParentWithNonResChWithLocRestClient.CreateCreateOrUpdateRequestUri(Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtListMethodsArmOperation(Response.FromValue(new TenantParentWithNonResChWithLocResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/GuestConfigurationAssignmentCollection.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/GuestConfigurationAssignmentCollection.cs index d72dc180d6c..401a771d468 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/GuestConfigurationAssignmentCollection.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/GuestConfigurationAssignmentCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> Cr try { var response = await _guestConfigurationAssignmentRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, guestConfigurationAssignmentName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _guestConfigurationAssignmentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, guestConfigurationAssignmentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdate try { var response = _guestConfigurationAssignmentRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, guestConfigurationAssignmentName, data, cancellationToken); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _guestConfigurationAssignmentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, guestConfigurationAssignmentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/GuestConfigurationAssignmentResource.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/GuestConfigurationAssignmentResource.cs index 68a223e9e5b..79163c44b2f 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/GuestConfigurationAssignmentResource.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/GuestConfigurationAssignmentResource.cs @@ -200,7 +200,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _guestConfigurationAssignmentRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtMockAndSampleArmOperation(response); + var uri = _guestConfigurationAssignmentRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -242,7 +244,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _guestConfigurationAssignmentRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken); - var operation = new MgmtMockAndSampleArmOperation(response); + var uri = _guestConfigurationAssignmentRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; @@ -288,7 +292,9 @@ public virtual async Task> Up try { var response = await _guestConfigurationAssignmentRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _guestConfigurationAssignmentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -334,7 +340,9 @@ public virtual ArmOperation Update(WaitUnt try { var response = _guestConfigurationAssignmentRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _guestConfigurationAssignmentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/LongRunningOperation/MgmtMockAndSampleArmOperation.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/LongRunningOperation/MgmtMockAndSampleArmOperation.cs index d3d97e4efc7..74b4ca2ab91 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/LongRunningOperation/MgmtMockAndSampleArmOperation.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/LongRunningOperation/MgmtMockAndSampleArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtMockAndSampleArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtMockAndSampleArmOperation for mocking. protected MgmtMockAndSampleArmOperation() { } - internal MgmtMockAndSampleArmOperation(Response response) + internal MgmtMockAndSampleArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtMockAndSampleArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtMockAndSampleArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/LongRunningOperation/MgmtMockAndSampleArmOperationOfT.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/LongRunningOperation/MgmtMockAndSampleArmOperationOfT.cs index 1f201c69335..a3da6b59656 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/LongRunningOperation/MgmtMockAndSampleArmOperationOfT.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/LongRunningOperation/MgmtMockAndSampleArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtMockAndSampleArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtMockAndSampleArmOperation for mocking. protected MgmtMockAndSampleArmOperation() { } - internal MgmtMockAndSampleArmOperation(Response response) + internal MgmtMockAndSampleArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtMockAndSampleArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtMockAndSampleArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtMockAndSampleArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/MgmtMockAndSamplePrivateEndpointConnectionCollection.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/MgmtMockAndSamplePrivateEndpointConnectionCollection.cs index ae90482bb83..dff9f089c4e 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/MgmtMockAndSamplePrivateEndpointConnectionCollection.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/MgmtMockAndSamplePrivateEndpointConnectionCollection.cs @@ -90,7 +90,9 @@ public virtual async Task(Response.FromValue(new MgmtMockAndSamplePrivateEndpointConnectionResource(Client, response), response.GetRawResponse())); + var uri = _mgmtMockAndSamplePrivateEndpointConnectionPrivateEndpointConnectionsRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, privateEndpointConnectionName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new MgmtMockAndSamplePrivateEndpointConnectionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation try { var response = _mgmtMockAndSamplePrivateEndpointConnectionPrivateEndpointConnectionsRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, privateEndpointConnectionName, data, cancellationToken); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new MgmtMockAndSamplePrivateEndpointConnectionResource(Client, response), response.GetRawResponse())); + var uri = _mgmtMockAndSamplePrivateEndpointConnectionPrivateEndpointConnectionsRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, privateEndpointConnectionName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new MgmtMockAndSamplePrivateEndpointConnectionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/MgmtMockAndSamplePrivateEndpointConnectionResource.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/MgmtMockAndSamplePrivateEndpointConnectionResource.cs index 38bdcc7c497..8f87041bb3c 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/MgmtMockAndSamplePrivateEndpointConnectionResource.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/MgmtMockAndSamplePrivateEndpointConnectionResource.cs @@ -288,7 +288,9 @@ public virtual async Task(Response.FromValue(new MgmtMockAndSamplePrivateEndpointConnectionResource(Client, response), response.GetRawResponse())); + var uri = _mgmtMockAndSamplePrivateEndpointConnectionPrivateEndpointConnectionsRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new MgmtMockAndSamplePrivateEndpointConnectionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -334,7 +336,9 @@ public virtual ArmOperation try { var response = _mgmtMockAndSamplePrivateEndpointConnectionPrivateEndpointConnectionsRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new MgmtMockAndSamplePrivateEndpointConnectionResource(Client, response), response.GetRawResponse())); + var uri = _mgmtMockAndSamplePrivateEndpointConnectionPrivateEndpointConnectionsRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new MgmtMockAndSamplePrivateEndpointConnectionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/MhsmPrivateEndpointConnectionCollection.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/MhsmPrivateEndpointConnectionCollection.cs index b3e99b9c542..cef3092d1da 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/MhsmPrivateEndpointConnectionCollection.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/MhsmPrivateEndpointConnectionCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> C try { var response = await _mhsmPrivateEndpointConnectionMHSMPrivateEndpointConnectionsRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, privateEndpointConnectionName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new MhsmPrivateEndpointConnectionResource(Client, response), response.GetRawResponse())); + var uri = _mhsmPrivateEndpointConnectionMHSMPrivateEndpointConnectionsRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, privateEndpointConnectionName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new MhsmPrivateEndpointConnectionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdat try { var response = _mhsmPrivateEndpointConnectionMHSMPrivateEndpointConnectionsRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, privateEndpointConnectionName, data, cancellationToken); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new MhsmPrivateEndpointConnectionResource(Client, response), response.GetRawResponse())); + var uri = _mhsmPrivateEndpointConnectionMHSMPrivateEndpointConnectionsRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, privateEndpointConnectionName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new MhsmPrivateEndpointConnectionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/MhsmPrivateEndpointConnectionResource.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/MhsmPrivateEndpointConnectionResource.cs index e097ec04a7f..b78993ef7ac 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/MhsmPrivateEndpointConnectionResource.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/MhsmPrivateEndpointConnectionResource.cs @@ -289,7 +289,9 @@ public virtual async Task> U try { var response = await _mhsmPrivateEndpointConnectionMHSMPrivateEndpointConnectionsRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new MhsmPrivateEndpointConnectionResource(Client, response), response.GetRawResponse())); + var uri = _mhsmPrivateEndpointConnectionMHSMPrivateEndpointConnectionsRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new MhsmPrivateEndpointConnectionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -335,7 +337,9 @@ public virtual ArmOperation Update(WaitUn try { var response = _mhsmPrivateEndpointConnectionMHSMPrivateEndpointConnectionsRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new MhsmPrivateEndpointConnectionResource(Client, response), response.GetRawResponse())); + var uri = _mhsmPrivateEndpointConnectionMHSMPrivateEndpointConnectionsRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new MhsmPrivateEndpointConnectionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/DeploymentsRestOperations.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/DeploymentsRestOperations.cs index 897e80ebd14..50fd919d701 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/DeploymentsRestOperations.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/DeploymentsRestOperations.cs @@ -37,6 +37,15 @@ public DeploymentsRestOperations(HttpPipeline pipeline, string applicationId, Ur _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCalculateTemplateHashRequestUri(BinaryData template) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Resources/calculateTemplateHash", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCalculateTemplateHashRequest(BinaryData template) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/DiskEncryptionSetsRestOperations.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/DiskEncryptionSetsRestOperations.cs index 5de9ecaa6ea..94a860ad08b 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/DiskEncryptionSetsRestOperations.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/DiskEncryptionSetsRestOperations.cs @@ -37,6 +37,20 @@ public DiskEncryptionSetsRestOperations(HttpPipeline pipeline, string applicatio _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string diskEncryptionSetName, DiskEncryptionSetData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/diskEncryptionSets/", false); + uri.AppendPath(diskEncryptionSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string diskEncryptionSetName, DiskEncryptionSetData data) { var message = _pipeline.CreateMessage(); @@ -115,6 +129,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string diskEncryptionSetName, DiskEncryptionSetPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/diskEncryptionSets/", false); + uri.AppendPath(diskEncryptionSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string diskEncryptionSetName, DiskEncryptionSetPatch patch) { var message = _pipeline.CreateMessage(); @@ -193,6 +221,20 @@ public Response Update(string subscriptionId, string resourceGroupName, string d } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string diskEncryptionSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/diskEncryptionSets/", false); + uri.AppendPath(diskEncryptionSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string diskEncryptionSetName) { var message = _pipeline.CreateMessage(); @@ -275,6 +317,20 @@ public Response Get(string subscriptionId, string resourc } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string diskEncryptionSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/diskEncryptionSets/", false); + uri.AppendPath(diskEncryptionSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string diskEncryptionSetName) { var message = _pipeline.CreateMessage(); @@ -346,6 +402,19 @@ public Response Delete(string subscriptionId, string resourceGroupName, string d } } + internal RequestUriBuilder CreateListByResourceGroupRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/diskEncryptionSets", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByResourceGroupRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -419,6 +488,17 @@ public Response ListByResourceGroup(string subscriptionId } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/diskEncryptionSets", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -486,6 +566,14 @@ public Response List(string subscriptionId, CancellationT } } + internal RequestUriBuilder CreateListByResourceGroupNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByResourceGroupNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -558,6 +646,14 @@ public Response ListByResourceGroupNextPage(string nextLi } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/FirewallPoliciesRestOperations.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/FirewallPoliciesRestOperations.cs index 765b71e36dd..0050c085ffe 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/FirewallPoliciesRestOperations.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/FirewallPoliciesRestOperations.cs @@ -37,6 +37,20 @@ public FirewallPoliciesRestOperations(HttpPipeline pipeline, string applicationI _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string firewallPolicyName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/firewallPolicies/", false); + uri.AppendPath(firewallPolicyName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string firewallPolicyName) { var message = _pipeline.CreateMessage(); @@ -109,6 +123,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string f } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string firewallPolicyName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/firewallPolicies/", false); + uri.AppendPath(firewallPolicyName, true); + uri.AppendQuery("api-version", _apiVersion, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string firewallPolicyName, string expand) { var message = _pipeline.CreateMessage(); @@ -197,6 +229,20 @@ public Response Get(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string firewallPolicyName, FirewallPolicyData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/firewallPolicies/", false); + uri.AppendPath(firewallPolicyName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string firewallPolicyName, FirewallPolicyData data) { var message = _pipeline.CreateMessage(); @@ -275,6 +321,19 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/firewallPolicies", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -348,6 +407,17 @@ public Response List(string subscriptionId, string res } } + internal RequestUriBuilder CreateListAllRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Network/firewallPolicies", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListAllRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -415,6 +485,14 @@ public Response ListAll(string subscriptionId, Cancell } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -487,6 +565,14 @@ public Response ListNextPage(string nextLink, string s } } + internal RequestUriBuilder CreateListAllNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListAllNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/FirewallPolicyRuleCollectionGroupsRestOperations.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/FirewallPolicyRuleCollectionGroupsRestOperations.cs index 7e0fb5d75d5..b106b0276b9 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/FirewallPolicyRuleCollectionGroupsRestOperations.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/FirewallPolicyRuleCollectionGroupsRestOperations.cs @@ -37,6 +37,22 @@ public FirewallPolicyRuleCollectionGroupsRestOperations(HttpPipeline pipeline, s _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string firewallPolicyName, string ruleCollectionGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/firewallPolicies/", false); + uri.AppendPath(firewallPolicyName, true); + uri.AppendPath("/ruleCollectionGroups/", false); + uri.AppendPath(ruleCollectionGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string firewallPolicyName, string ruleCollectionGroupName) { var message = _pipeline.CreateMessage(); @@ -115,6 +131,22 @@ public Response Delete(string subscriptionId, string resourceGroupName, string f } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string firewallPolicyName, string ruleCollectionGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/firewallPolicies/", false); + uri.AppendPath(firewallPolicyName, true); + uri.AppendPath("/ruleCollectionGroups/", false); + uri.AppendPath(ruleCollectionGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string firewallPolicyName, string ruleCollectionGroupName) { var message = _pipeline.CreateMessage(); @@ -203,6 +235,22 @@ public Response Get(string subscriptionId } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string firewallPolicyName, string ruleCollectionGroupName, FirewallPolicyRuleCollectionGroupData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/firewallPolicies/", false); + uri.AppendPath(firewallPolicyName, true); + uri.AppendPath("/ruleCollectionGroups/", false); + uri.AppendPath(ruleCollectionGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string firewallPolicyName, string ruleCollectionGroupName, FirewallPolicyRuleCollectionGroupData data) { var message = _pipeline.CreateMessage(); @@ -287,6 +335,21 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string firewallPolicyName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/firewallPolicies/", false); + uri.AppendPath(firewallPolicyName, true); + uri.AppendPath("/ruleCollectionGroups", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string firewallPolicyName) { var message = _pipeline.CreateMessage(); @@ -366,6 +429,14 @@ public Response List(string subscri } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string firewallPolicyName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string firewallPolicyName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/GuestConfigurationAssignmentsRestOperations.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/GuestConfigurationAssignmentsRestOperations.cs index 3cf8315cee0..cd599e16573 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/GuestConfigurationAssignmentsRestOperations.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/GuestConfigurationAssignmentsRestOperations.cs @@ -37,6 +37,22 @@ public GuestConfigurationAssignmentsRestOperations(HttpPipeline pipeline, string _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmName, string guestConfigurationAssignmentName, GuestConfigurationAssignmentData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/", false); + uri.AppendPath(guestConfigurationAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vmName, string guestConfigurationAssignmentName, GuestConfigurationAssignmentData data) { var message = _pipeline.CreateMessage(); @@ -131,6 +147,22 @@ public Response CreateOrUpdate(string subscrip } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmName, string guestConfigurationAssignmentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/", false); + uri.AppendPath(guestConfigurationAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmName, string guestConfigurationAssignmentName) { var message = _pipeline.CreateMessage(); @@ -219,6 +251,22 @@ public Response Get(string subscriptionId, str } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmName, string guestConfigurationAssignmentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/", false); + uri.AppendPath(guestConfigurationAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmName, string guestConfigurationAssignmentName) { var message = _pipeline.CreateMessage(); @@ -292,6 +340,21 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/ManagedHsmsRestOperations.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/ManagedHsmsRestOperations.cs index afe529d3ae1..ed4a341c1e9 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/ManagedHsmsRestOperations.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/ManagedHsmsRestOperations.cs @@ -37,6 +37,20 @@ public ManagedHsmsRestOperations(HttpPipeline pipeline, string applicationId, Ur _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string name, ManagedHsmData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/managedHSMs/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string name, ManagedHsmData data) { var message = _pipeline.CreateMessage(); @@ -115,6 +129,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string name, ManagedHsmData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/managedHSMs/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string name, ManagedHsmData data) { var message = _pipeline.CreateMessage(); @@ -193,6 +221,20 @@ public Response Update(string subscriptionId, string resourceGroupName, string n } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/managedHSMs/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -265,6 +307,20 @@ public Response Delete(string subscriptionId, string resourceGroupName, string n } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/managedHSMs/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -351,6 +407,23 @@ public Response Get(string subscriptionId, string resourceGroupN } } + internal RequestUriBuilder CreateListByResourceGroupRequestUri(string subscriptionId, string resourceGroupName, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/managedHSMs", false); + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByResourceGroupRequest(string subscriptionId, string resourceGroupName, int? top) { var message = _pipeline.CreateMessage(); @@ -430,6 +503,21 @@ public Response ListByResourceGroup(string subscriptionId, } } + internal RequestUriBuilder CreateListBySubscriptionRequestUri(string subscriptionId, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.KeyVault/managedHSMs", false); + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListBySubscriptionRequest(string subscriptionId, int? top) { var message = _pipeline.CreateMessage(); @@ -503,6 +591,17 @@ public Response ListBySubscription(string subscriptionId, } } + internal RequestUriBuilder CreateListDeletedRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.KeyVault/deletedManagedHSMs", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListDeletedRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -570,6 +669,20 @@ public Response ListDeleted(string subscriptionId, } } + internal RequestUriBuilder CreateGetDeletedRequestUri(string subscriptionId, AzureLocation location, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.KeyVault/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/deletedManagedHSMs/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetDeletedRequest(string subscriptionId, AzureLocation location, string name) { var message = _pipeline.CreateMessage(); @@ -650,6 +763,21 @@ public Response GetDeleted(string subscriptionId, AzureLo } } + internal RequestUriBuilder CreatePurgeDeletedRequestUri(string subscriptionId, AzureLocation location, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.KeyVault/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/deletedManagedHSMs/", false); + uri.AppendPath(name, true); + uri.AppendPath("/purge", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePurgeDeletedRequest(string subscriptionId, AzureLocation location, string name) { var message = _pipeline.CreateMessage(); @@ -717,6 +845,14 @@ public Response PurgeDeleted(string subscriptionId, AzureLocation location, stri } } + internal RequestUriBuilder CreateListByResourceGroupNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByResourceGroupNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, int? top) { var message = _pipeline.CreateMessage(); @@ -791,6 +927,14 @@ public Response ListByResourceGroupNextPage(string nextLin } } + internal RequestUriBuilder CreateListBySubscriptionNextPageRequestUri(string nextLink, string subscriptionId, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBySubscriptionNextPageRequest(string nextLink, string subscriptionId, int? top) { var message = _pipeline.CreateMessage(); @@ -861,6 +1005,14 @@ public Response ListBySubscriptionNextPage(string nextLink } } + internal RequestUriBuilder CreateListDeletedNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListDeletedNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/MhsmPrivateEndpointConnectionsRestOperations.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/MhsmPrivateEndpointConnectionsRestOperations.cs index b59b5245b36..370a97510f9 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/MhsmPrivateEndpointConnectionsRestOperations.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/MhsmPrivateEndpointConnectionsRestOperations.cs @@ -37,6 +37,21 @@ public MhsmPrivateEndpointConnectionsRestOperations(HttpPipeline pipeline, strin _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListByResourceRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/managedHSMs/", false); + uri.AppendPath(name, true); + uri.AppendPath("/privateEndpointConnections", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByResourceRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -116,6 +131,22 @@ public Response ListByResource(string } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name, string privateEndpointConnectionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/managedHSMs/", false); + uri.AppendPath(name, true); + uri.AppendPath("/privateEndpointConnections/", false); + uri.AppendPath(privateEndpointConnectionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name, string privateEndpointConnectionName) { var message = _pipeline.CreateMessage(); @@ -204,6 +235,22 @@ public Response Get(string subscriptionId, st } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, string privateEndpointConnectionName, MhsmPrivateEndpointConnectionData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/managedHSMs/", false); + uri.AppendPath(name, true); + uri.AppendPath("/privateEndpointConnections/", false); + uri.AppendPath(privateEndpointConnectionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, string privateEndpointConnectionName, MhsmPrivateEndpointConnectionData data) { var message = _pipeline.CreateMessage(); @@ -296,6 +343,22 @@ public Response Put(string subscriptionId, st } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string name, string privateEndpointConnectionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/managedHSMs/", false); + uri.AppendPath(name, true); + uri.AppendPath("/privateEndpointConnections/", false); + uri.AppendPath(privateEndpointConnectionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string name, string privateEndpointConnectionName) { var message = _pipeline.CreateMessage(); @@ -374,6 +437,14 @@ public Response Delete(string subscriptionId, string resourceGroupName, string n } } + internal RequestUriBuilder CreateListByResourceNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByResourceNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/MhsmPrivateLinkResourcesRestOperations.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/MhsmPrivateLinkResourcesRestOperations.cs index 7628aeaa446..15e92ce94ba 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/MhsmPrivateLinkResourcesRestOperations.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/MhsmPrivateLinkResourcesRestOperations.cs @@ -37,6 +37,21 @@ public MhsmPrivateLinkResourcesRestOperations(HttpPipeline pipeline, string appl _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListByMhsmResourceRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/managedHSMs/", false); + uri.AppendPath(name, true); + uri.AppendPath("/privateLinkResources", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByMhsmResourceRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/PrivateEndpointConnectionsRestOperations.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/PrivateEndpointConnectionsRestOperations.cs index a5ed8e9af75..0ebfb7cb66e 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/PrivateEndpointConnectionsRestOperations.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/PrivateEndpointConnectionsRestOperations.cs @@ -37,6 +37,22 @@ public PrivateEndpointConnectionsRestOperations(HttpPipeline pipeline, string ap _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vaultName, string privateEndpointConnectionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendPath("/privateEndpointConnections/", false); + uri.AppendPath(privateEndpointConnectionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vaultName, string privateEndpointConnectionName) { var message = _pipeline.CreateMessage(); @@ -127,6 +143,22 @@ public Response Get(string subsc } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string vaultName, string privateEndpointConnectionName, MgmtMockAndSamplePrivateEndpointConnectionData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendPath("/privateEndpointConnections/", false); + uri.AppendPath(privateEndpointConnectionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string vaultName, string privateEndpointConnectionName, MgmtMockAndSamplePrivateEndpointConnectionData data) { var message = _pipeline.CreateMessage(); @@ -219,6 +251,22 @@ public Response Put(string subsc } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vaultName, string privateEndpointConnectionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendPath("/privateEndpointConnections/", false); + uri.AppendPath(privateEndpointConnectionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vaultName, string privateEndpointConnectionName) { var message = _pipeline.CreateMessage(); @@ -297,6 +345,21 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateListByResourceRequestUri(string subscriptionId, string resourceGroupName, string vaultName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendPath("/privateEndpointConnections", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByResourceRequest(string subscriptionId, string resourceGroupName, string vaultName) { var message = _pipeline.CreateMessage(); @@ -376,6 +439,14 @@ public Response ListByReso } } + internal RequestUriBuilder CreateListByResourceNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string vaultName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByResourceNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string vaultName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/PrivateLinkResourcesRestOperations.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/PrivateLinkResourcesRestOperations.cs index 623e9d0e129..d7ef2d20815 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/PrivateLinkResourcesRestOperations.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/PrivateLinkResourcesRestOperations.cs @@ -37,6 +37,21 @@ public PrivateLinkResourcesRestOperations(HttpPipeline pipeline, string applicat _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListByVaultRequestUri(string subscriptionId, string resourceGroupName, string vaultName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendPath("/privateLinkResources", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByVaultRequest(string subscriptionId, string resourceGroupName, string vaultName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/RoleAssignmentsRestOperations.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/RoleAssignmentsRestOperations.cs index 1157a33def3..c1c6bf0ced1 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/RoleAssignmentsRestOperations.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/RoleAssignmentsRestOperations.cs @@ -37,6 +37,18 @@ public RoleAssignmentsRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateDeleteRequestUri(string scope, string roleAssignmentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Authorization/roleAssignments/", false); + uri.AppendPath(roleAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string scope, string roleAssignmentName) { var message = _pipeline.CreateMessage(); @@ -113,6 +125,18 @@ public Response Delete(string scope, string roleAssignmentNa } } + internal RequestUriBuilder CreateCreateRequestUri(string scope, string roleAssignmentName, RoleAssignmentCreateOrUpdateContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Authorization/roleAssignments/", false); + uri.AppendPath(roleAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateRequest(string scope, string roleAssignmentName, RoleAssignmentCreateOrUpdateContent content) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,18 @@ public Response Create(string scope, string roleAssignmentNa } } + internal RequestUriBuilder CreateGetRequestUri(string scope, string roleAssignmentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Authorization/roleAssignments/", false); + uri.AppendPath(roleAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string scope, string roleAssignmentName) { var message = _pipeline.CreateMessage(); @@ -269,6 +305,19 @@ public Response Get(string scope, string roleAssignmentName, } } + internal RequestUriBuilder CreateValidateRequestUri(string subscriptionId, string roleAssignmentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Authorization/roleAssignments/", false); + uri.AppendPath(roleAssignmentName, true); + uri.AppendPath("/validate", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateValidateRequest(string subscriptionId, string roleAssignmentName) { var message = _pipeline.CreateMessage(); @@ -331,6 +380,21 @@ public Response Validate(string subscriptionId, string roleAssignmentName, Cance } } + internal RequestUriBuilder CreateListForScopeRequestUri(string scope, string filter) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Authorization/roleAssignments", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListForScopeRequest(string scope, string filter) { var message = _pipeline.CreateMessage(); @@ -402,6 +466,14 @@ public Response ListForScope(string scope, string filt } } + internal RequestUriBuilder CreateListForScopeNextPageRequestUri(string nextLink, string scope, string filter) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListForScopeNextPageRequest(string nextLink, string scope, string filter) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/TenantActivityLogsRestOperations.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/TenantActivityLogsRestOperations.cs index 22ef56aca2e..3797c0697d0 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/TenantActivityLogsRestOperations.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/TenantActivityLogsRestOperations.cs @@ -37,6 +37,23 @@ public TenantActivityLogsRestOperations(HttpPipeline pipeline, string applicatio _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string filter, string select) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Insights/eventtypes/management/values", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (select != null) + { + uri.AppendQuery("$select", select, true); + } + return uri; + } + internal HttpMessage CreateListRequest(string filter, string select) { var message = _pipeline.CreateMessage(); @@ -104,6 +121,14 @@ public Response List(string filter = null, string select = } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string filter, string select) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string filter, string select) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/VaultsRestOperations.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/VaultsRestOperations.cs index ab16e44f717..b7c442da770 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/VaultsRestOperations.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/VaultsRestOperations.cs @@ -37,6 +37,20 @@ public VaultsRestOperations(HttpPipeline pipeline, string applicationId, Uri end _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string vaultName, VaultCreateOrUpdateContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vaultName, VaultCreateOrUpdateContent content) { var message = _pipeline.CreateMessage(); @@ -115,6 +129,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string vaultName, VaultPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string vaultName, VaultPatch patch) { var message = _pipeline.CreateMessage(); @@ -203,6 +231,20 @@ public Response Update(string subscriptionId, string resourceGroupNam } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vaultName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vaultName) { var message = _pipeline.CreateMessage(); @@ -273,6 +315,20 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vaultName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vaultName) { var message = _pipeline.CreateMessage(); @@ -355,6 +411,21 @@ public Response Get(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateListKeysRequestUri(string subscriptionId, string resourceGroupName, string vaultName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendPath("/keys", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListKeysRequest(string subscriptionId, string resourceGroupName, string vaultName) { var message = _pipeline.CreateMessage(); @@ -434,6 +505,21 @@ public Response ListKeys(string subscriptionId, string reso } } + internal RequestUriBuilder CreateValidateRequestUri(string subscriptionId, string resourceGroupName, string vaultName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendPath("/validate", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateValidateRequest(string subscriptionId, string resourceGroupName, string vaultName) { var message = _pipeline.CreateMessage(); @@ -513,6 +599,21 @@ public Response Validate(string subscriptionId, string re } } + internal RequestUriBuilder CreateDisableRequestUri(string subscriptionId, string resourceGroupName, string vaultName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendPath("/disable", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDisableRequest(string subscriptionId, string resourceGroupName, string vaultName) { var message = _pipeline.CreateMessage(); @@ -582,6 +683,22 @@ public Response Disable(string subscriptionId, string resourceGroupName, string } } + internal RequestUriBuilder CreateUpdateAccessPolicyRequestUri(string subscriptionId, string resourceGroupName, string vaultName, AccessPolicyUpdateKind operationKind, VaultAccessPolicyParameters vaultAccessPolicyParameters) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendPath("/accessPolicies/", false); + uri.AppendPath(operationKind.ToSerialString(), true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateAccessPolicyRequest(string subscriptionId, string resourceGroupName, string vaultName, AccessPolicyUpdateKind operationKind, VaultAccessPolicyParameters vaultAccessPolicyParameters) { var message = _pipeline.CreateMessage(); @@ -674,6 +791,23 @@ public Response UpdateAccessPolicy(string subscript } } + internal RequestUriBuilder CreateListByResourceGroupRequestUri(string subscriptionId, string resourceGroupName, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults", false); + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByResourceGroupRequest(string subscriptionId, string resourceGroupName, int? top) { var message = _pipeline.CreateMessage(); @@ -753,6 +887,21 @@ public Response ListByResourceGroup(string subscriptionId, stri } } + internal RequestUriBuilder CreateListBySubscriptionRequestUri(string subscriptionId, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.KeyVault/vaults", false); + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListBySubscriptionRequest(string subscriptionId, int? top) { var message = _pipeline.CreateMessage(); @@ -826,6 +975,17 @@ public Response ListBySubscription(string subscriptionId, int? } } + internal RequestUriBuilder CreateListDeletedRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.KeyVault/deletedVaults", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListDeletedRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -893,6 +1053,20 @@ public Response ListDeleted(string subscriptionId, Cance } } + internal RequestUriBuilder CreateGetDeletedRequestUri(string subscriptionId, AzureLocation location, string vaultName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.KeyVault/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/deletedVaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetDeletedRequest(string subscriptionId, AzureLocation location, string vaultName) { var message = _pipeline.CreateMessage(); @@ -973,6 +1147,21 @@ public Response GetDeleted(string subscriptionId, AzureLocatio } } + internal RequestUriBuilder CreatePurgeDeletedRequestUri(string subscriptionId, AzureLocation location, string vaultName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.KeyVault/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/deletedVaults/", false); + uri.AppendPath(vaultName, true); + uri.AppendPath("/purge", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePurgeDeletedRequest(string subscriptionId, AzureLocation location, string vaultName) { var message = _pipeline.CreateMessage(); @@ -1042,6 +1231,17 @@ public Response PurgeDeleted(string subscriptionId, AzureLocation location, stri } } + internal RequestUriBuilder CreateCheckNameAvailabilityRequestUri(string subscriptionId, VaultCheckNameAvailabilityContent content) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.KeyVault/checkNameAvailability", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCheckNameAvailabilityRequest(string subscriptionId, VaultCheckNameAvailabilityContent content) { var message = _pipeline.CreateMessage(); @@ -1117,6 +1317,14 @@ public Response CheckNameAvailability(string subscr } } + internal RequestUriBuilder CreateListByResourceGroupNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByResourceGroupNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, int? top) { var message = _pipeline.CreateMessage(); @@ -1191,6 +1399,14 @@ public Response ListByResourceGroupNextPage(string nextLink, st } } + internal RequestUriBuilder CreateListBySubscriptionNextPageRequestUri(string nextLink, string subscriptionId, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBySubscriptionNextPageRequest(string nextLink, string subscriptionId, int? top) { var message = _pipeline.CreateMessage(); @@ -1261,6 +1477,14 @@ public Response ListBySubscriptionNextPage(string nextLink, str } } + internal RequestUriBuilder CreateListDeletedNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListDeletedNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs index e7f75609ae2..625ab4b04e3 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs @@ -37,6 +37,24 @@ public VirtualMachineExtensionImagesRestOperations(HttpPipeline pipeline, string _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, AzureLocation location, string publisherName, string type, string version) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmextension/types/", false); + uri.AppendPath(type, true); + uri.AppendPath("/versions/", false); + uri.AppendPath(version, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, AzureLocation location, string publisherName, string type, string version) { var message = _pipeline.CreateMessage(); @@ -129,6 +147,21 @@ public Response Get(string subscriptionId, Azu } } + internal RequestUriBuilder CreateListTypesRequestUri(string subscriptionId, AzureLocation location, string publisherName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmextension/types", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTypesRequest(string subscriptionId, AzureLocation location, string publisherName) { var message = _pipeline.CreateMessage(); @@ -216,6 +249,35 @@ public Response> ListTypes(strin } } + internal RequestUriBuilder CreateListVersionsRequestUri(string subscriptionId, AzureLocation location, string publisherName, string type, string filter, int? top, string orderby) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmextension/types/", false); + uri.AppendPath(type, true); + uri.AppendPath("/versions", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (orderby != null) + { + uri.AppendQuery("$orderby", orderby, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListVersionsRequest(string subscriptionId, AzureLocation location, string publisherName, string type, string filter, int? top, string orderby) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RoleAssignmentCollection.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RoleAssignmentCollection.cs index 378ba56a828..1ef5ddacb0d 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RoleAssignmentCollection.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RoleAssignmentCollection.cs @@ -81,7 +81,9 @@ public virtual async Task> CreateOrUpdateAs try { var response = await _roleAssignmentRestClient.CreateAsync(Id, roleAssignmentName, content, cancellationToken).ConfigureAwait(false); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new RoleAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _roleAssignmentRestClient.CreateCreateRequestUri(Id, roleAssignmentName, content); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new RoleAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -130,7 +132,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wai try { var response = _roleAssignmentRestClient.Create(Id, roleAssignmentName, content, cancellationToken); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new RoleAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _roleAssignmentRestClient.CreateCreateRequestUri(Id, roleAssignmentName, content); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new RoleAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/RoleAssignmentResource.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/RoleAssignmentResource.cs index d5f40c24749..00b3443eb2a 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/RoleAssignmentResource.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/RoleAssignmentResource.cs @@ -199,7 +199,9 @@ public virtual async Task> DeleteAsync(Wait try { var response = await _roleAssignmentRestClient.DeleteAsync(Id.Parent, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new RoleAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _roleAssignmentRestClient.CreateDeleteRequestUri(Id.Parent, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new RoleAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -241,7 +243,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, try { var response = _roleAssignmentRestClient.Delete(Id.Parent, Id.Name, cancellationToken); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new RoleAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _roleAssignmentRestClient.CreateDeleteRequestUri(Id.Parent, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new RoleAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; @@ -287,7 +291,9 @@ public virtual async Task> UpdateAsync(Wait try { var response = await _roleAssignmentRestClient.CreateAsync(Id.Parent, Id.Name, content, cancellationToken).ConfigureAwait(false); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new RoleAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _roleAssignmentRestClient.CreateCreateRequestUri(Id.Parent, Id.Name, content); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new RoleAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -333,7 +339,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, try { var response = _roleAssignmentRestClient.Create(Id.Parent, Id.Name, content, cancellationToken); - var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new RoleAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _roleAssignmentRestClient.CreateCreateRequestUri(Id.Parent, Id.Name, content); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(Response.FromValue(new RoleAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtMockAndSample/src/Generated/VaultResource.cs b/test/TestProjects/MgmtMockAndSample/src/Generated/VaultResource.cs index 4ac53ffb3ce..7ab76319c1e 100644 --- a/test/TestProjects/MgmtMockAndSample/src/Generated/VaultResource.cs +++ b/test/TestProjects/MgmtMockAndSample/src/Generated/VaultResource.cs @@ -276,7 +276,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _vaultRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtMockAndSampleArmOperation(response); + var uri = _vaultRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -318,7 +320,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _vaultRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new MgmtMockAndSampleArmOperation(response); + var uri = _vaultRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtMockAndSampleArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtMultipleParentResource/src/Generated/LongRunningOperation/MgmtMultipleParentResourceArmOperation.cs b/test/TestProjects/MgmtMultipleParentResource/src/Generated/LongRunningOperation/MgmtMultipleParentResourceArmOperation.cs index 96d157dadd0..68cd774e77d 100644 --- a/test/TestProjects/MgmtMultipleParentResource/src/Generated/LongRunningOperation/MgmtMultipleParentResourceArmOperation.cs +++ b/test/TestProjects/MgmtMultipleParentResource/src/Generated/LongRunningOperation/MgmtMultipleParentResourceArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtMultipleParentResourceArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtMultipleParentResourceArmOperation for mocking. protected MgmtMultipleParentResourceArmOperation() { } - internal MgmtMultipleParentResourceArmOperation(Response response) + internal MgmtMultipleParentResourceArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtMultipleParentResourceArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtMultipleParentResourceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtMultipleParentResource/src/Generated/LongRunningOperation/MgmtMultipleParentResourceArmOperationOfT.cs b/test/TestProjects/MgmtMultipleParentResource/src/Generated/LongRunningOperation/MgmtMultipleParentResourceArmOperationOfT.cs index 80a15149ff7..91b5e4463b1 100644 --- a/test/TestProjects/MgmtMultipleParentResource/src/Generated/LongRunningOperation/MgmtMultipleParentResourceArmOperationOfT.cs +++ b/test/TestProjects/MgmtMultipleParentResource/src/Generated/LongRunningOperation/MgmtMultipleParentResourceArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtMultipleParentResourceArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtMultipleParentResourceArmOperation for mocking. protected MgmtMultipleParentResourceArmOperation() { } - internal MgmtMultipleParentResourceArmOperation(Response response) + internal MgmtMultipleParentResourceArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtMultipleParentResourceArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtMultipleParentResourceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtMultipleParentResourceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/AnotherChildrenRestOperations.cs b/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/AnotherChildrenRestOperations.cs index 7d565468e0e..286db6fc622 100644 --- a/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/AnotherChildrenRestOperations.cs +++ b/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/AnotherChildrenRestOperations.cs @@ -37,6 +37,22 @@ public AnotherChildrenRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string anotherName, string childName, ChildBodyData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/anotherParents/", false); + uri.AppendPath(anotherName, true); + uri.AppendPath("/children/", false); + uri.AppendPath(childName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string anotherName, string childName, ChildBodyData data) { var message = _pipeline.CreateMessage(); @@ -121,6 +137,22 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string anotherName, string childName, ChildBodyUpdate childBody) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/anotherParents/", false); + uri.AppendPath(anotherName, true); + uri.AppendPath("/children/", false); + uri.AppendPath(childName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string anotherName, string childName, ChildBodyUpdate childBody) { var message = _pipeline.CreateMessage(); @@ -203,6 +235,22 @@ public Response Update(string subscriptionId, string resourceGroupName, string a } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string anotherName, string childName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/anotherParents/", false); + uri.AppendPath(anotherName, true); + uri.AppendPath("/children/", false); + uri.AppendPath(childName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string anotherName, string childName) { var message = _pipeline.CreateMessage(); @@ -281,6 +329,26 @@ public Response Delete(string subscriptionId, string resourceGroupName, string a } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string anotherName, string childName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/anotherParents/", false); + uri.AppendPath(anotherName, true); + uri.AppendPath("/children/", false); + uri.AppendPath(childName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string anotherName, string childName, string expand) { var message = _pipeline.CreateMessage(); @@ -375,6 +443,25 @@ public Response Get(string subscriptionId, string resourceGroupNa } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string anotherName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/anotherParents/", false); + uri.AppendPath(anotherName, true); + uri.AppendPath("/children", false); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string anotherName, string expand) { var message = _pipeline.CreateMessage(); @@ -460,6 +547,14 @@ public Response List(string subscriptionId, string resour } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string anotherName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string anotherName, string expand) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/AnotherParentsRestOperations.cs b/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/AnotherParentsRestOperations.cs index 6e3b0bfef82..e5542214121 100644 --- a/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/AnotherParentsRestOperations.cs +++ b/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/AnotherParentsRestOperations.cs @@ -37,6 +37,20 @@ public AnotherParentsRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string anotherName, AnotherParentData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/anotherParents/", false); + uri.AppendPath(anotherName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string anotherName, AnotherParentData data) { var message = _pipeline.CreateMessage(); @@ -115,6 +129,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string anotherName, AnotherParentPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/anotherParents/", false); + uri.AppendPath(anotherName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string anotherName, AnotherParentPatch patch) { var message = _pipeline.CreateMessage(); @@ -191,6 +219,20 @@ public Response Update(string subscriptionId, string resourceGroupName, string a } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string anotherName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/anotherParents/", false); + uri.AppendPath(anotherName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string anotherName) { var message = _pipeline.CreateMessage(); @@ -263,6 +305,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string a } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string anotherName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/anotherParents/", false); + uri.AppendPath(anotherName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string anotherName, string expand) { var message = _pipeline.CreateMessage(); @@ -351,6 +411,23 @@ public Response Get(string subscriptionId, string resourceGro } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/anotherParents", false); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string expand) { var message = _pipeline.CreateMessage(); @@ -430,6 +507,14 @@ public Response List(string subscriptionId, string res } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string expand) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/ChildrenRestOperations.cs b/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/ChildrenRestOperations.cs index cd4ca13d710..87285a9d1d5 100644 --- a/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/ChildrenRestOperations.cs +++ b/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/ChildrenRestOperations.cs @@ -37,6 +37,24 @@ public ChildrenRestOperations(HttpPipeline pipeline, string applicationId, Uri e _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, string childName, ChildBodyData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents/", false); + uri.AppendPath(theParentName, true); + uri.AppendPath("/subParents/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/children/", false); + uri.AppendPath(childName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, string childName, ChildBodyData data) { var message = _pipeline.CreateMessage(); @@ -127,6 +145,24 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, string childName, ChildBodyUpdate childBody) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents/", false); + uri.AppendPath(theParentName, true); + uri.AppendPath("/subParents/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/children/", false); + uri.AppendPath(childName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, string childName, ChildBodyUpdate childBody) { var message = _pipeline.CreateMessage(); @@ -215,6 +251,24 @@ public Response Update(string subscriptionId, string resourceGroupName, string t } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, string childName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents/", false); + uri.AppendPath(theParentName, true); + uri.AppendPath("/subParents/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/children/", false); + uri.AppendPath(childName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, string childName) { var message = _pipeline.CreateMessage(); @@ -299,6 +353,28 @@ public Response Delete(string subscriptionId, string resourceGroupName, string t } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, string childName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents/", false); + uri.AppendPath(theParentName, true); + uri.AppendPath("/subParents/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/children/", false); + uri.AppendPath(childName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, string childName, string expand) { var message = _pipeline.CreateMessage(); @@ -399,6 +475,27 @@ public Response Get(string subscriptionId, string resourceGroupNa } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents/", false); + uri.AppendPath(theParentName, true); + uri.AppendPath("/subParents/", false); + uri.AppendPath(instanceId, true); + uri.AppendPath("/children", false); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, string expand) { var message = _pipeline.CreateMessage(); @@ -490,6 +587,14 @@ public Response List(string subscriptionId, string resour } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string theParentName, string instanceId, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string theParentName, string instanceId, string expand) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/SubParentsRestOperations.cs b/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/SubParentsRestOperations.cs index 54e2070e25f..9ab39383257 100644 --- a/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/SubParentsRestOperations.cs +++ b/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/SubParentsRestOperations.cs @@ -37,6 +37,22 @@ public SubParentsRestOperations(HttpPipeline pipeline, string applicationId, Uri _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, SubParentData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents/", false); + uri.AppendPath(theParentName, true); + uri.AppendPath("/subParents/", false); + uri.AppendPath(instanceId, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, SubParentData data) { var message = _pipeline.CreateMessage(); @@ -121,6 +137,22 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, SubParentPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents/", false); + uri.AppendPath(theParentName, true); + uri.AppendPath("/subParents/", false); + uri.AppendPath(instanceId, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, SubParentPatch patch) { var message = _pipeline.CreateMessage(); @@ -203,6 +235,22 @@ public Response Update(string subscriptionId, string resourceGroupName, string t } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string theParentName, string instanceId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents/", false); + uri.AppendPath(theParentName, true); + uri.AppendPath("/subParents/", false); + uri.AppendPath(instanceId, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string theParentName, string instanceId) { var message = _pipeline.CreateMessage(); @@ -281,6 +329,26 @@ public Response Delete(string subscriptionId, string resourceGroupName, string t } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents/", false); + uri.AppendPath(theParentName, true); + uri.AppendPath("/subParents/", false); + uri.AppendPath(instanceId, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string theParentName, string instanceId, string expand) { var message = _pipeline.CreateMessage(); @@ -375,6 +443,25 @@ public Response Get(string subscriptionId, string resourceGroupNa } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string theParentName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents/", false); + uri.AppendPath(theParentName, true); + uri.AppendPath("/subParents", false); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string theParentName, string expand) { var message = _pipeline.CreateMessage(); @@ -460,6 +547,14 @@ public Response List(string subscriptionId, string resourc } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string theParentName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string theParentName, string expand) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/TheParentsRestOperations.cs b/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/TheParentsRestOperations.cs index a84f9f3d720..bb5e7badbd2 100644 --- a/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/TheParentsRestOperations.cs +++ b/test/TestProjects/MgmtMultipleParentResource/src/Generated/RestOperations/TheParentsRestOperations.cs @@ -37,6 +37,20 @@ public TheParentsRestOperations(HttpPipeline pipeline, string applicationId, Uri _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string theParentName, TheParentData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents/", false); + uri.AppendPath(theParentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string theParentName, TheParentData data) { var message = _pipeline.CreateMessage(); @@ -115,6 +129,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string theParentName, TheParentPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents/", false); + uri.AppendPath(theParentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string theParentName, TheParentPatch patch) { var message = _pipeline.CreateMessage(); @@ -191,6 +219,20 @@ public Response Update(string subscriptionId, string resourceGroupName, string t } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string theParentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents/", false); + uri.AppendPath(theParentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string theParentName) { var message = _pipeline.CreateMessage(); @@ -263,6 +305,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string t } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string theParentName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents/", false); + uri.AppendPath(theParentName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string theParentName, string expand) { var message = _pipeline.CreateMessage(); @@ -351,6 +411,23 @@ public Response Get(string subscriptionId, string resourceGroupNa } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/theParents", false); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string expand) { var message = _pipeline.CreateMessage(); @@ -430,6 +507,14 @@ public Response List(string subscriptionId, string resourc } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string expand) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/LongRunningOperation/MgmtNoTypeReplacementArmOperationOfT.cs b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/LongRunningOperation/MgmtNoTypeReplacementArmOperationOfT.cs index 36518278f02..4dc82e5d703 100644 --- a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/LongRunningOperation/MgmtNoTypeReplacementArmOperationOfT.cs +++ b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/LongRunningOperation/MgmtNoTypeReplacementArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtNoTypeReplacementArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtNoTypeReplacementArmOperation for mocking. protected MgmtNoTypeReplacementArmOperation() { } - internal MgmtNoTypeReplacementArmOperation(Response response) + internal MgmtNoTypeReplacementArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtNoTypeReplacementArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtNoTypeReplacementArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtNoTypeReplacementArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel1Collection.cs b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel1Collection.cs index 9f5e29d7b38..a249e3cbd70 100644 --- a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel1Collection.cs +++ b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel1Collection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateO try { var response = await _noTypeReplacementModel1RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, noTypeReplacementModel1SName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel1Resource(Client, response), response.GetRawResponse())); + var uri = _noTypeReplacementModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, noTypeReplacementModel1SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(Wait try { var response = _noTypeReplacementModel1RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, noTypeReplacementModel1SName, data, cancellationToken); - var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel1Resource(Client, response), response.GetRawResponse())); + var uri = _noTypeReplacementModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, noTypeReplacementModel1SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel1Resource.cs b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel1Resource.cs index 0c7fa9bc1f3..257e0cc05a8 100644 --- a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel1Resource.cs +++ b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel1Resource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateA try { var response = await _noTypeReplacementModel1RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel1Resource(Client, response), response.GetRawResponse())); + var uri = _noTypeReplacementModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil wa try { var response = _noTypeReplacementModel1RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel1Resource(Client, response), response.GetRawResponse())); + var uri = _noTypeReplacementModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel2Collection.cs b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel2Collection.cs index 34608e9b66e..b120bbdb91a 100644 --- a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel2Collection.cs +++ b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel2Collection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateO try { var response = await _noTypeReplacementModel2RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, noTypeReplacementModel2SName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel2Resource(Client, response), response.GetRawResponse())); + var uri = _noTypeReplacementModel2RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, noTypeReplacementModel2SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel2Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(Wait try { var response = _noTypeReplacementModel2RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, noTypeReplacementModel2SName, data, cancellationToken); - var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel2Resource(Client, response), response.GetRawResponse())); + var uri = _noTypeReplacementModel2RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, noTypeReplacementModel2SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel2Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel2Resource.cs b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel2Resource.cs index 5528a4c941a..9608bb772cb 100644 --- a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel2Resource.cs +++ b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel2Resource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateA try { var response = await _noTypeReplacementModel2RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel2Resource(Client, response), response.GetRawResponse())); + var uri = _noTypeReplacementModel2RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel2Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil wa try { var response = _noTypeReplacementModel2RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel2Resource(Client, response), response.GetRawResponse())); + var uri = _noTypeReplacementModel2RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel2Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel3Collection.cs b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel3Collection.cs index 19ef3c37ce0..5492b2355cb 100644 --- a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel3Collection.cs +++ b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel3Collection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateO try { var response = await _noTypeReplacementModel3RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, noTypeReplacementModel3SName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel3Resource(Client, response), response.GetRawResponse())); + var uri = _noTypeReplacementModel3RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, noTypeReplacementModel3SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel3Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(Wait try { var response = _noTypeReplacementModel3RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, noTypeReplacementModel3SName, data, cancellationToken); - var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel3Resource(Client, response), response.GetRawResponse())); + var uri = _noTypeReplacementModel3RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, noTypeReplacementModel3SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel3Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel3Resource.cs b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel3Resource.cs index 3dac086109f..50416ab7b45 100644 --- a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel3Resource.cs +++ b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/NoTypeReplacementModel3Resource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateA try { var response = await _noTypeReplacementModel3RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel3Resource(Client, response), response.GetRawResponse())); + var uri = _noTypeReplacementModel3RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel3Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil wa try { var response = _noTypeReplacementModel3RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel3Resource(Client, response), response.GetRawResponse())); + var uri = _noTypeReplacementModel3RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtNoTypeReplacementArmOperation(Response.FromValue(new NoTypeReplacementModel3Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/RestOperations/NoTypeReplacementModel1SRestOperations.cs b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/RestOperations/NoTypeReplacementModel1SRestOperations.cs index b03b21f20ca..1df76ed04d7 100644 --- a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/RestOperations/NoTypeReplacementModel1SRestOperations.cs +++ b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/RestOperations/NoTypeReplacementModel1SRestOperations.cs @@ -37,6 +37,19 @@ public NoTypeReplacementModel1SRestOperations(HttpPipeline pipeline, string appl _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/noTypeReplacementModel1s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, s } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string noTypeReplacementModel1SName, NoTypeReplacementModel1Data data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/noTypeReplacementModel1s/", false); + uri.AppendPath(noTypeReplacementModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string noTypeReplacementModel1SName, NoTypeReplacementModel1Data data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string r } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string noTypeReplacementModel1SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/noTypeReplacementModel1s/", false); + uri.AppendPath(noTypeReplacementModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string noTypeReplacementModel1SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/RestOperations/NoTypeReplacementModel2SRestOperations.cs b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/RestOperations/NoTypeReplacementModel2SRestOperations.cs index f2586888815..0277a115c4c 100644 --- a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/RestOperations/NoTypeReplacementModel2SRestOperations.cs +++ b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/RestOperations/NoTypeReplacementModel2SRestOperations.cs @@ -37,6 +37,19 @@ public NoTypeReplacementModel2SRestOperations(HttpPipeline pipeline, string appl _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/noTypeReplacementModel2s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, s } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string noTypeReplacementModel2SName, NoTypeReplacementModel2Data data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/noTypeReplacementModel2s/", false); + uri.AppendPath(noTypeReplacementModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string noTypeReplacementModel2SName, NoTypeReplacementModel2Data data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string r } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string noTypeReplacementModel2SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/noTypeReplacementModel2s/", false); + uri.AppendPath(noTypeReplacementModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string noTypeReplacementModel2SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/RestOperations/NoTypeReplacementModel3SRestOperations.cs b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/RestOperations/NoTypeReplacementModel3SRestOperations.cs index 5e2ffd6dc67..05602cb00e2 100644 --- a/test/TestProjects/MgmtNoTypeReplacement/src/Generated/RestOperations/NoTypeReplacementModel3SRestOperations.cs +++ b/test/TestProjects/MgmtNoTypeReplacement/src/Generated/RestOperations/NoTypeReplacementModel3SRestOperations.cs @@ -37,6 +37,19 @@ public NoTypeReplacementModel3SRestOperations(HttpPipeline pipeline, string appl _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/noTypeReplacementModel3s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, s } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string noTypeReplacementModel3SName, NoTypeReplacementModel3Data data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/noTypeReplacementModel3s/", false); + uri.AppendPath(noTypeReplacementModel3SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string noTypeReplacementModel3SName, NoTypeReplacementModel3Data data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string r } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string noTypeReplacementModel3SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/noTypeReplacementModel3s/", false); + uri.AppendPath(noTypeReplacementModel3SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string noTypeReplacementModel3SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtNonStringPathVariable/src/Generated/FakeResource.cs b/test/TestProjects/MgmtNonStringPathVariable/src/Generated/FakeResource.cs index 067752818f1..829b63df3be 100644 --- a/test/TestProjects/MgmtNonStringPathVariable/src/Generated/FakeResource.cs +++ b/test/TestProjects/MgmtNonStringPathVariable/src/Generated/FakeResource.cs @@ -204,7 +204,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _fakeRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtNonStringPathVariableArmOperation(response); + var uri = _fakeRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtNonStringPathVariableArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _fakeRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new MgmtNonStringPathVariableArmOperation(response); + var uri = _fakeRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtNonStringPathVariableArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtNonStringPathVariable/src/Generated/LongRunningOperation/MgmtNonStringPathVariableArmOperation.cs b/test/TestProjects/MgmtNonStringPathVariable/src/Generated/LongRunningOperation/MgmtNonStringPathVariableArmOperation.cs index d066505e3b1..b0ff5641351 100644 --- a/test/TestProjects/MgmtNonStringPathVariable/src/Generated/LongRunningOperation/MgmtNonStringPathVariableArmOperation.cs +++ b/test/TestProjects/MgmtNonStringPathVariable/src/Generated/LongRunningOperation/MgmtNonStringPathVariableArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtNonStringPathVariableArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtNonStringPathVariableArmOperation for mocking. protected MgmtNonStringPathVariableArmOperation() { } - internal MgmtNonStringPathVariableArmOperation(Response response) + internal MgmtNonStringPathVariableArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtNonStringPathVariableArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtNonStringPathVariableArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtNonStringPathVariable/src/Generated/LongRunningOperation/MgmtNonStringPathVariableArmOperationOfT.cs b/test/TestProjects/MgmtNonStringPathVariable/src/Generated/LongRunningOperation/MgmtNonStringPathVariableArmOperationOfT.cs index 37a2f03d721..ebd9f3ca3c6 100644 --- a/test/TestProjects/MgmtNonStringPathVariable/src/Generated/LongRunningOperation/MgmtNonStringPathVariableArmOperationOfT.cs +++ b/test/TestProjects/MgmtNonStringPathVariable/src/Generated/LongRunningOperation/MgmtNonStringPathVariableArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtNonStringPathVariableArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtNonStringPathVariableArmOperation for mocking. protected MgmtNonStringPathVariableArmOperation() { } - internal MgmtNonStringPathVariableArmOperation(Response response) + internal MgmtNonStringPathVariableArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtNonStringPathVariableArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtNonStringPathVariableArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtNonStringPathVariableArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtNonStringPathVariable/src/Generated/RestOperations/BarsRestOperations.cs b/test/TestProjects/MgmtNonStringPathVariable/src/Generated/RestOperations/BarsRestOperations.cs index ccb3d542f2c..63e0102fc06 100644 --- a/test/TestProjects/MgmtNonStringPathVariable/src/Generated/RestOperations/BarsRestOperations.cs +++ b/test/TestProjects/MgmtNonStringPathVariable/src/Generated/RestOperations/BarsRestOperations.cs @@ -37,6 +37,20 @@ public BarsRestOperations(HttpPipeline pipeline, string applicationId, Uri endpo _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateRequestUri(string subscriptionId, string resourceGroupName, int barName, BarData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/bars/", false); + uri.AppendPath(barName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateRequest(string subscriptionId, string resourceGroupName, int barName, BarData data) { var message = _pipeline.CreateMessage(); @@ -113,6 +127,20 @@ public Response Create(string subscriptionId, string resourceGroupName, int barN } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, int barName, BarPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/bars/", false); + uri.AppendPath(barName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, int barName, BarPatch patch) { var message = _pipeline.CreateMessage(); @@ -189,6 +217,20 @@ public Response Update(string subscriptionId, string resourceGroupName, int barN } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, int barName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/bars/", false); + uri.AppendPath(barName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, int barName) { var message = _pipeline.CreateMessage(); @@ -269,6 +311,20 @@ public Response Get(string subscriptionId, string resourceGroupName, in } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, int barName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/bars/", false); + uri.AppendPath(barName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, int barName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtNonStringPathVariable/src/Generated/RestOperations/FakesRestOperations.cs b/test/TestProjects/MgmtNonStringPathVariable/src/Generated/RestOperations/FakesRestOperations.cs index 51ee54d62d0..1ec0d8d53b5 100644 --- a/test/TestProjects/MgmtNonStringPathVariable/src/Generated/RestOperations/FakesRestOperations.cs +++ b/test/TestProjects/MgmtNonStringPathVariable/src/Generated/RestOperations/FakesRestOperations.cs @@ -37,6 +37,20 @@ public FakesRestOperations(HttpPipeline pipeline, string applicationId, Uri endp _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, FakeNameAsEnum fakeName, FakeData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName.ToString(), true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, FakeNameAsEnum fakeName, FakeData data) { var message = _pipeline.CreateMessage(); @@ -113,6 +127,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, FakeNameAsEnum fakeName, FakePatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName.ToString(), true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, FakeNameAsEnum fakeName, FakePatch patch) { var message = _pipeline.CreateMessage(); @@ -189,6 +217,20 @@ public Response Update(string subscriptionId, string resourceGroupName, FakeName } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, FakeNameAsEnum fakeName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName.ToString(), true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, FakeNameAsEnum fakeName) { var message = _pipeline.CreateMessage(); @@ -258,6 +300,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, FakeName } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, FakeNameAsEnum fakeName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes/", false); + uri.AppendPath(fakeName.ToString(), true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, FakeNameAsEnum fakeName, string expand) { var message = _pipeline.CreateMessage(); @@ -344,6 +404,23 @@ public Response Get(string subscriptionId, string resourceGroupName, F } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string optionalParam) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/fakes", false); + if (optionalParam != null) + { + uri.AppendQuery("optionalParam", optionalParam, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string optionalParam) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtOmitOperationGroups/src/Generated/LongRunningOperation/MgmtOmitOperationGroupsArmOperationOfT.cs b/test/TestProjects/MgmtOmitOperationGroups/src/Generated/LongRunningOperation/MgmtOmitOperationGroupsArmOperationOfT.cs index 958a080b902..67cddcc8932 100644 --- a/test/TestProjects/MgmtOmitOperationGroups/src/Generated/LongRunningOperation/MgmtOmitOperationGroupsArmOperationOfT.cs +++ b/test/TestProjects/MgmtOmitOperationGroups/src/Generated/LongRunningOperation/MgmtOmitOperationGroupsArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtOmitOperationGroupsArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtOmitOperationGroupsArmOperation for mocking. protected MgmtOmitOperationGroupsArmOperation() { } - internal MgmtOmitOperationGroupsArmOperation(Response response) + internal MgmtOmitOperationGroupsArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtOmitOperationGroupsArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtOmitOperationGroupsArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtOmitOperationGroupsArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtOmitOperationGroups/src/Generated/Model2Collection.cs b/test/TestProjects/MgmtOmitOperationGroups/src/Generated/Model2Collection.cs index cd2c7cb4499..65bf159466b 100644 --- a/test/TestProjects/MgmtOmitOperationGroups/src/Generated/Model2Collection.cs +++ b/test/TestProjects/MgmtOmitOperationGroups/src/Generated/Model2Collection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAsync(Wait try { var response = await _model2RestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, model2SName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtOmitOperationGroupsArmOperation(Response.FromValue(new Model2Resource(Client, response), response.GetRawResponse())); + var uri = _model2RestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, model2SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOmitOperationGroupsArmOperation(Response.FromValue(new Model2Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, try { var response = _model2RestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, model2SName, data, cancellationToken); - var operation = new MgmtOmitOperationGroupsArmOperation(Response.FromValue(new Model2Resource(Client, response), response.GetRawResponse())); + var uri = _model2RestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, model2SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOmitOperationGroupsArmOperation(Response.FromValue(new Model2Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtOmitOperationGroups/src/Generated/Model2Resource.cs b/test/TestProjects/MgmtOmitOperationGroups/src/Generated/Model2Resource.cs index 38b248cb536..8fd3fb6e588 100644 --- a/test/TestProjects/MgmtOmitOperationGroups/src/Generated/Model2Resource.cs +++ b/test/TestProjects/MgmtOmitOperationGroups/src/Generated/Model2Resource.cs @@ -206,7 +206,9 @@ public virtual async Task> UpdateAsync(WaitUntil wa try { var response = await _model2RestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtOmitOperationGroupsArmOperation(Response.FromValue(new Model2Resource(Client, response), response.GetRawResponse())); + var uri = _model2RestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOmitOperationGroupsArmOperation(Response.FromValue(new Model2Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -251,7 +253,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, Model2Da try { var response = _model2RestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtOmitOperationGroupsArmOperation(Response.FromValue(new Model2Resource(Client, response), response.GetRawResponse())); + var uri = _model2RestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOmitOperationGroupsArmOperation(Response.FromValue(new Model2Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtOmitOperationGroups/src/Generated/RestOperations/Model2SRestOperations.cs b/test/TestProjects/MgmtOmitOperationGroups/src/Generated/RestOperations/Model2SRestOperations.cs index 7fac79f0dc6..8ea0091413b 100644 --- a/test/TestProjects/MgmtOmitOperationGroups/src/Generated/RestOperations/Model2SRestOperations.cs +++ b/test/TestProjects/MgmtOmitOperationGroups/src/Generated/RestOperations/Model2SRestOperations.cs @@ -37,6 +37,19 @@ public Model2SRestOperations(HttpPipeline pipeline, string applicationId, Uri en _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/model2s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string resourceGro } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string model2SName, Model2Data data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/model2s/", false); + uri.AppendPath(model2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string model2SName, Model2Data data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourc } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string model2SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/model2s/", false); + uri.AppendPath(model2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string model2SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtOmitOperationGroups/src/Generated/RestOperations/Model4SRestOperations.cs b/test/TestProjects/MgmtOmitOperationGroups/src/Generated/RestOperations/Model4SRestOperations.cs index a52e5e145a6..a81a521cc68 100644 --- a/test/TestProjects/MgmtOmitOperationGroups/src/Generated/RestOperations/Model4SRestOperations.cs +++ b/test/TestProjects/MgmtOmitOperationGroups/src/Generated/RestOperations/Model4SRestOperations.cs @@ -37,6 +37,21 @@ public Model4SRestOperations(HttpPipeline pipeline, string applicationId, Uri en _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetDefaultRequestUri(string subscriptionId, string resourceGroupName, string model2SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/model2s/", false); + uri.AppendPath(model2SName, true); + uri.AppendPath("/model4s/default", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetDefaultRequest(string subscriptionId, string resourceGroupName, string model2SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtOmitOperationGroups/src/Generated/RestOperations/Model5SRestOperations.cs b/test/TestProjects/MgmtOmitOperationGroups/src/Generated/RestOperations/Model5SRestOperations.cs index f3f9084d4b1..6b36eae61cb 100644 --- a/test/TestProjects/MgmtOmitOperationGroups/src/Generated/RestOperations/Model5SRestOperations.cs +++ b/test/TestProjects/MgmtOmitOperationGroups/src/Generated/RestOperations/Model5SRestOperations.cs @@ -37,6 +37,19 @@ public Model5SRestOperations(HttpPipeline pipeline, string applicationId, Uri en _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/model5s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string resourceGro } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string model5SName, Model5 model5) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/model5s/", false); + uri.AppendPath(model5SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string model5SName, Model5 model5) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGro } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string model5SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/model5s/", false); + uri.AppendPath(model5SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string model5SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetChildCollection.cs b/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetChildCollection.cs index b8c6a32ed1a..8270b999887 100644 --- a/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetChildCollection.cs +++ b/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetChildCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUp try { var response = await _availabilitySetChildavailabilitySetChildRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, availabilitySetChildName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetChildResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetChildavailabilitySetChildRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, availabilitySetChildName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetChildResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUnt try { var response = _availabilitySetChildavailabilitySetChildRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, availabilitySetChildName, data, cancellationToken); - var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetChildResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetChildavailabilitySetChildRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, availabilitySetChildName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetChildResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetChildResource.cs b/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetChildResource.cs index a2c0564967d..9a4d5440cb7 100644 --- a/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetChildResource.cs +++ b/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetChildResource.cs @@ -274,7 +274,9 @@ public virtual async Task> UpdateAsyn try { var response = await _availabilitySetChildavailabilitySetChildRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetChildResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetChildavailabilitySetChildRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetChildResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -320,7 +322,9 @@ public virtual ArmOperation Update(WaitUntil waitU try { var response = _availabilitySetChildavailabilitySetChildRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetChildResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetChildavailabilitySetChildRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetChildResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetCollection.cs b/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetCollection.cs index 2a5e3d6b551..64f23d5703c 100644 --- a/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetCollection.cs +++ b/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateA try { var response = await _availabilitySetRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wa try { var response = _availabilitySetRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data, cancellationToken); - var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetGrandChildCollection.cs b/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetGrandChildCollection.cs index 9a0325aaa8d..a95abdf9bf1 100644 --- a/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetGrandChildCollection.cs +++ b/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetGrandChildCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> Creat try { var response = await _availabilitySetGrandChildavailabilitySetGrandChildRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, availabilitySetGrandChildName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetGrandChildResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetGrandChildavailabilitySetGrandChildRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, availabilitySetGrandChildName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetGrandChildResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdate(Wa try { var response = _availabilitySetGrandChildavailabilitySetGrandChildRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, availabilitySetGrandChildName, data, cancellationToken); - var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetGrandChildResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetGrandChildavailabilitySetGrandChildRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, availabilitySetGrandChildName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetGrandChildResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetGrandChildResource.cs b/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetGrandChildResource.cs index ea4d18fe704..24bc507b5ae 100644 --- a/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetGrandChildResource.cs +++ b/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetGrandChildResource.cs @@ -206,7 +206,9 @@ public virtual async Task> Updat try { var response = await _availabilitySetGrandChildavailabilitySetGrandChildRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetGrandChildResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetGrandChildavailabilitySetGrandChildRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetGrandChildResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -252,7 +254,9 @@ public virtual ArmOperation Update(WaitUntil try { var response = _availabilitySetGrandChildavailabilitySetGrandChildRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetGrandChildResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetGrandChildavailabilitySetGrandChildRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(Response.FromValue(new AvailabilitySetGrandChildResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetResource.cs b/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetResource.cs index 1abe740b2e6..bae36e7891a 100644 --- a/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetResource.cs +++ b/test/TestProjects/MgmtOperations/src/Generated/AvailabilitySetResource.cs @@ -273,7 +273,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _availabilitySetRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtOperationsArmOperation(response); + var uri = _availabilitySetRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -315,7 +317,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _availabilitySetRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new MgmtOperationsArmOperation(response); + var uri = _availabilitySetRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtOperations/src/Generated/LongRunningOperation/MgmtOperationsArmOperation.cs b/test/TestProjects/MgmtOperations/src/Generated/LongRunningOperation/MgmtOperationsArmOperation.cs index 1f2060114ec..3774991cd1f 100644 --- a/test/TestProjects/MgmtOperations/src/Generated/LongRunningOperation/MgmtOperationsArmOperation.cs +++ b/test/TestProjects/MgmtOperations/src/Generated/LongRunningOperation/MgmtOperationsArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtOperationsArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtOperationsArmOperation for mocking. protected MgmtOperationsArmOperation() { } - internal MgmtOperationsArmOperation(Response response) + internal MgmtOperationsArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtOperationsArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtOperationsArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtOperations/src/Generated/LongRunningOperation/MgmtOperationsArmOperationOfT.cs b/test/TestProjects/MgmtOperations/src/Generated/LongRunningOperation/MgmtOperationsArmOperationOfT.cs index c31ade3baa3..48cb1f21a5b 100644 --- a/test/TestProjects/MgmtOperations/src/Generated/LongRunningOperation/MgmtOperationsArmOperationOfT.cs +++ b/test/TestProjects/MgmtOperations/src/Generated/LongRunningOperation/MgmtOperationsArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtOperationsArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtOperationsArmOperation for mocking. protected MgmtOperationsArmOperation() { } - internal MgmtOperationsArmOperation(Response response) + internal MgmtOperationsArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtOperationsArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtOperationsArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtOperationsArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtOperations/src/Generated/RestOperations/AvailabilitySetChildRestOperations.cs b/test/TestProjects/MgmtOperations/src/Generated/RestOperations/AvailabilitySetChildRestOperations.cs index c8f1c8a65fb..01d204a6cf1 100644 --- a/test/TestProjects/MgmtOperations/src/Generated/RestOperations/AvailabilitySetChildRestOperations.cs +++ b/test/TestProjects/MgmtOperations/src/Generated/RestOperations/AvailabilitySetChildRestOperations.cs @@ -37,6 +37,21 @@ public AvailabilitySetChildRestOperations(HttpPipeline pipeline, string applicat _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendPath("/availabilitySetChildren", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string availabilitySetName) { var message = _pipeline.CreateMessage(); @@ -116,6 +131,22 @@ public Response List(string subscriptionId, stri } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, string availabilitySetChildName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendPath("/availabilitySetChildren/", false); + uri.AppendPath(availabilitySetChildName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, string availabilitySetChildName) { var message = _pipeline.CreateMessage(); @@ -204,6 +235,22 @@ public Response Get(string subscriptionId, string reso } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, string availabilitySetChildName, AvailabilitySetChildData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendPath("/availabilitySetChildren/", false); + uri.AppendPath(availabilitySetChildName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, string availabilitySetChildName, AvailabilitySetChildData data) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtOperations/src/Generated/RestOperations/AvailabilitySetGrandChildRestOperations.cs b/test/TestProjects/MgmtOperations/src/Generated/RestOperations/AvailabilitySetGrandChildRestOperations.cs index 87afa68b2cd..728ce28d54b 100644 --- a/test/TestProjects/MgmtOperations/src/Generated/RestOperations/AvailabilitySetGrandChildRestOperations.cs +++ b/test/TestProjects/MgmtOperations/src/Generated/RestOperations/AvailabilitySetGrandChildRestOperations.cs @@ -37,6 +37,23 @@ public AvailabilitySetGrandChildRestOperations(HttpPipeline pipeline, string app _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, string availabilitySetChildName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendPath("/availabilitySetChildren/", false); + uri.AppendPath(availabilitySetChildName, true); + uri.AppendPath("/availabilitySetGrandChildren", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, string availabilitySetChildName) { var message = _pipeline.CreateMessage(); @@ -122,6 +139,24 @@ public Response List(string subscriptionId, } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, string availabilitySetChildName, string availabilitySetGrandChildName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendPath("/availabilitySetChildren/", false); + uri.AppendPath(availabilitySetChildName, true); + uri.AppendPath("/availabilitySetGrandChildren/", false); + uri.AppendPath(availabilitySetGrandChildName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, string availabilitySetChildName, string availabilitySetGrandChildName) { var message = _pipeline.CreateMessage(); @@ -216,6 +251,24 @@ public Response Get(string subscriptionId, string } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, string availabilitySetChildName, string availabilitySetGrandChildName, AvailabilitySetGrandChildData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendPath("/availabilitySetChildren/", false); + uri.AppendPath(availabilitySetChildName, true); + uri.AppendPath("/availabilitySetGrandChildren/", false); + uri.AppendPath(availabilitySetGrandChildName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, string availabilitySetChildName, string availabilitySetGrandChildName, AvailabilitySetGrandChildData data) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtOperations/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs b/test/TestProjects/MgmtOperations/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs index d8620645cbb..fdc6c17b023 100644 --- a/test/TestProjects/MgmtOperations/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs +++ b/test/TestProjects/MgmtOperations/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs @@ -37,6 +37,20 @@ public AvailabilitySetsRestOperations(HttpPipeline pipeline, string applicationI _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string subscriptionId, strin } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetUpdate availabilitySetUpdate) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetUpdate availabilitySetUpdate) { var message = _pipeline.CreateMessage(); @@ -209,6 +237,20 @@ public Response Update(string subscriptionId, string resour } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string availabilitySetName) { var message = _pipeline.CreateMessage(); @@ -278,6 +320,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string a } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, string expand) { var message = _pipeline.CreateMessage(); @@ -366,6 +426,21 @@ public Response Get(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreateTestSetSharedKeyRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, ConnectionSharedKey connectionSharedKey) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendPath("/sharedkey", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateTestSetSharedKeyRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, ConnectionSharedKey connectionSharedKey) { var message = _pipeline.CreateMessage(); @@ -443,6 +518,23 @@ public Response TestSetSharedKey(string subscriptionId, string resourceGroupName } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets", false); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string expand) { var message = _pipeline.CreateMessage(); @@ -522,6 +614,19 @@ public Response List(string subscriptionId, string re } } + internal RequestUriBuilder CreateTestLROMethodRequestUri(string subscriptionId, string resourceGroupName, AvailabilitySetUpdate availabilitySetUpdate) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/patchAvailabilitySets", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateTestLROMethodRequest(string subscriptionId, string resourceGroupName, AvailabilitySetUpdate availabilitySetUpdate) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtOperations/src/Generated/RestOperations/UnpatchableResourcesRestOperations.cs b/test/TestProjects/MgmtOperations/src/Generated/RestOperations/UnpatchableResourcesRestOperations.cs index 0c7ac690cee..5751cb3c574 100644 --- a/test/TestProjects/MgmtOperations/src/Generated/RestOperations/UnpatchableResourcesRestOperations.cs +++ b/test/TestProjects/MgmtOperations/src/Generated/RestOperations/UnpatchableResourcesRestOperations.cs @@ -37,6 +37,20 @@ public UnpatchableResourcesRestOperations(HttpPipeline pipeline, string applicat _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string name, UnpatchableResourceData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/unpatchableResources/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string name, UnpatchableResourceData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string subscriptionId, s } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string name, UnpatchableResourcePatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/unpatchableResources/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string name, UnpatchableResourcePatch patch) { var message = _pipeline.CreateMessage(); @@ -209,6 +237,20 @@ public Response Update(string subscriptionId, string re } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/unpatchableResources/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -278,6 +320,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string n } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/unpatchableResources/", false); + uri.AppendPath(name, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name, string expand) { var message = _pipeline.CreateMessage(); @@ -366,6 +426,23 @@ public Response Get(string subscriptionId, string resou } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/unpatchableResources", false); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string expand) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtOperations/src/Generated/UnpatchableResource.cs b/test/TestProjects/MgmtOperations/src/Generated/UnpatchableResource.cs index cfcb6ad43f6..4197afa4ab0 100644 --- a/test/TestProjects/MgmtOperations/src/Generated/UnpatchableResource.cs +++ b/test/TestProjects/MgmtOperations/src/Generated/UnpatchableResource.cs @@ -204,7 +204,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _unpatchableResourceRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtOperationsArmOperation(response); + var uri = _unpatchableResourceRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _unpatchableResourceRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new MgmtOperationsArmOperation(response); + var uri = _unpatchableResourceRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtOperations/src/Generated/UnpatchableResourceCollection.cs b/test/TestProjects/MgmtOperations/src/Generated/UnpatchableResourceCollection.cs index 244bed27322..bc03944b5ec 100644 --- a/test/TestProjects/MgmtOperations/src/Generated/UnpatchableResourceCollection.cs +++ b/test/TestProjects/MgmtOperations/src/Generated/UnpatchableResourceCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateAsync try { var response = await _unpatchableResourceRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtOperationsArmOperation(Response.FromValue(new UnpatchableResource(Client, response), response.GetRawResponse())); + var uri = _unpatchableResourceRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(Response.FromValue(new UnpatchableResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUn try { var response = _unpatchableResourceRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken); - var operation = new MgmtOperationsArmOperation(Response.FromValue(new UnpatchableResource(Client, response), response.GetRawResponse())); + var uri = _unpatchableResourceRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtOperationsArmOperation(Response.FromValue(new UnpatchableResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/LongRunningOperation/MgmtPaginationArmOperationOfT.cs b/test/TestProjects/MgmtPagination/src/Generated/LongRunningOperation/MgmtPaginationArmOperationOfT.cs index 249d343d237..65304e8d72a 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/LongRunningOperation/MgmtPaginationArmOperationOfT.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/LongRunningOperation/MgmtPaginationArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtPaginationArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtPaginationArmOperation for mocking. protected MgmtPaginationArmOperation() { } - internal MgmtPaginationArmOperation(Response response) + internal MgmtPaginationArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtPaginationArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtPaginationArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtPaginationArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeDecimalModelCollection.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeDecimalModelCollection.cs index 815a8cb6d5b..8716e657d08 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeDecimalModelCollection.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeDecimalModelCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUp try { var response = await _pageSizeDecimalModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDecimalModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeDecimalModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDecimalModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUnt try { var response = _pageSizeDecimalModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDecimalModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeDecimalModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDecimalModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeDecimalModelResource.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeDecimalModelResource.cs index 34232b74ce5..b02343cc142 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeDecimalModelResource.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeDecimalModelResource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsyn try { var response = await _pageSizeDecimalModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDecimalModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeDecimalModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDecimalModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitU try { var response = _pageSizeDecimalModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDecimalModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeDecimalModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDecimalModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeDoubleModelCollection.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeDoubleModelCollection.cs index d3e53dea13d..183663542de 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeDoubleModelCollection.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeDoubleModelCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpd try { var response = await _pageSizeDoubleModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDoubleModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeDoubleModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDoubleModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUnti try { var response = _pageSizeDoubleModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDoubleModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeDoubleModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDoubleModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeDoubleModelResource.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeDoubleModelResource.cs index 05f1d3b0851..a2bc920973f 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeDoubleModelResource.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeDoubleModelResource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync try { var response = await _pageSizeDoubleModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDoubleModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeDoubleModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDoubleModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUn try { var response = _pageSizeDoubleModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDoubleModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeDoubleModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeDoubleModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeFloatModelCollection.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeFloatModelCollection.cs index adcfa1b938d..e0d9c68ab08 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeFloatModelCollection.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeFloatModelCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpda try { var response = await _pageSizeFloatModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeFloatModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeFloatModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeFloatModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil try { var response = _pageSizeFloatModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeFloatModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeFloatModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeFloatModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeFloatModelResource.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeFloatModelResource.cs index bfdffb596d0..215b2021cf4 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeFloatModelResource.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeFloatModelResource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync( try { var response = await _pageSizeFloatModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeFloatModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeFloatModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeFloatModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUnt try { var response = _pageSizeFloatModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeFloatModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeFloatModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeFloatModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt32ModelCollection.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt32ModelCollection.cs index 6d7f9a7852f..be57079dd4b 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt32ModelCollection.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt32ModelCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpda try { var response = await _pageSizeInt32ModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt32ModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeInt32ModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt32ModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil try { var response = _pageSizeInt32ModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt32ModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeInt32ModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt32ModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt32ModelResource.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt32ModelResource.cs index 615cdf2928a..9f312faf4a7 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt32ModelResource.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt32ModelResource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync( try { var response = await _pageSizeInt32ModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt32ModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeInt32ModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt32ModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUnt try { var response = _pageSizeInt32ModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt32ModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeInt32ModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt32ModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt64ModelCollection.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt64ModelCollection.cs index 40d35ac3809..573f85e7915 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt64ModelCollection.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt64ModelCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpda try { var response = await _pageSizeInt64ModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt64ModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeInt64ModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt64ModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil try { var response = _pageSizeInt64ModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt64ModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeInt64ModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt64ModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt64ModelResource.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt64ModelResource.cs index 3c88b864de4..d9e37d80bc6 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt64ModelResource.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeInt64ModelResource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync( try { var response = await _pageSizeInt64ModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt64ModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeInt64ModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt64ModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUnt try { var response = _pageSizeInt64ModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt64ModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeInt64ModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeInt64ModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeIntegerModelCollection.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeIntegerModelCollection.cs index 3946786fb1a..77bd31e71bc 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeIntegerModelCollection.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeIntegerModelCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUp try { var response = await _pageSizeIntegerModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeIntegerModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeIntegerModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeIntegerModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUnt try { var response = _pageSizeIntegerModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeIntegerModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeIntegerModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeIntegerModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeIntegerModelResource.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeIntegerModelResource.cs index 1125ce14a3f..f95ea4c9372 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeIntegerModelResource.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeIntegerModelResource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsyn try { var response = await _pageSizeIntegerModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeIntegerModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeIntegerModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeIntegerModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitU try { var response = _pageSizeIntegerModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeIntegerModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeIntegerModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeIntegerModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeNumericModelCollection.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeNumericModelCollection.cs index 1a2849cecf8..85a4b6699f3 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeNumericModelCollection.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeNumericModelCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUp try { var response = await _pageSizeNumericModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeNumericModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeNumericModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeNumericModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUnt try { var response = _pageSizeNumericModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeNumericModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeNumericModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeNumericModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeNumericModelResource.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeNumericModelResource.cs index d7a5de5468a..7106d66177f 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeNumericModelResource.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeNumericModelResource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsyn try { var response = await _pageSizeNumericModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeNumericModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeNumericModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeNumericModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitU try { var response = _pageSizeNumericModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeNumericModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeNumericModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeNumericModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeStringModelCollection.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeStringModelCollection.cs index cf9cab5b187..d525de7e16e 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeStringModelCollection.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeStringModelCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpd try { var response = await _pageSizeStringModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeStringModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeStringModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeStringModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUnti try { var response = _pageSizeStringModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeStringModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeStringModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeStringModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/PageSizeStringModelResource.cs b/test/TestProjects/MgmtPagination/src/Generated/PageSizeStringModelResource.cs index 369904660d9..1e61eb87b45 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/PageSizeStringModelResource.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/PageSizeStringModelResource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync try { var response = await _pageSizeStringModelRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeStringModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeStringModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeStringModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUn try { var response = _pageSizeStringModelRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeStringModelResource(Client, response), response.GetRawResponse())); + var uri = _pageSizeStringModelRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPaginationArmOperation(Response.FromValue(new PageSizeStringModelResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeDecimalModelsRestOperations.cs b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeDecimalModelsRestOperations.cs index a6888f755d8..bc8c07b9077 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeDecimalModelsRestOperations.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeDecimalModelsRestOperations.cs @@ -37,6 +37,23 @@ public PageSizeDecimalModelsRestOperations(HttpPipeline pipeline, string applica _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, decimal? maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeDecimalModel", false); + if (maxpagesize != null) + { + uri.AppendQuery("maxpagesize", maxpagesize.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, decimal? maxpagesize) { var message = _pipeline.CreateMessage(); @@ -114,6 +131,20 @@ public Response List(string subscriptionId, stri } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, PageSizeDecimalModelData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeDecimalModel/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, PageSizeDecimalModelData data) { var message = _pipeline.CreateMessage(); @@ -198,6 +229,20 @@ public Response Put(string subscriptionId, string reso } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeDecimalModel/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -278,6 +323,14 @@ public Response Get(string subscriptionId, string reso } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, decimal? maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, decimal? maxpagesize) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeDoubleModelsRestOperations.cs b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeDoubleModelsRestOperations.cs index a5da35e6774..15cee017dfd 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeDoubleModelsRestOperations.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeDoubleModelsRestOperations.cs @@ -37,6 +37,23 @@ public PageSizeDoubleModelsRestOperations(HttpPipeline pipeline, string applicat _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, double? maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeDoubleModel", false); + if (maxpagesize != null) + { + uri.AppendQuery("maxpagesize", maxpagesize.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, double? maxpagesize) { var message = _pipeline.CreateMessage(); @@ -114,6 +131,20 @@ public Response List(string subscriptionId, strin } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, PageSizeDoubleModelData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeDoubleModel/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, PageSizeDoubleModelData data) { var message = _pipeline.CreateMessage(); @@ -198,6 +229,20 @@ public Response Put(string subscriptionId, string resou } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeDoubleModel/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -278,6 +323,14 @@ public Response Get(string subscriptionId, string resou } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, double? maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, double? maxpagesize) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeFloatModelsRestOperations.cs b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeFloatModelsRestOperations.cs index 13349d86627..fca0a5337d6 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeFloatModelsRestOperations.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeFloatModelsRestOperations.cs @@ -37,6 +37,23 @@ public PageSizeFloatModelsRestOperations(HttpPipeline pipeline, string applicati _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, float? maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeFloatModel", false); + if (maxpagesize != null) + { + uri.AppendQuery("maxpagesize", maxpagesize.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, float? maxpagesize) { var message = _pipeline.CreateMessage(); @@ -114,6 +131,20 @@ public Response List(string subscriptionId, string } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, PageSizeFloatModelData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeFloatModel/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, PageSizeFloatModelData data) { var message = _pipeline.CreateMessage(); @@ -198,6 +229,20 @@ public Response Put(string subscriptionId, string resour } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeFloatModel/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -278,6 +323,14 @@ public Response Get(string subscriptionId, string resour } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, float? maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, float? maxpagesize) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeInt32ModelsRestOperations.cs b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeInt32ModelsRestOperations.cs index d5ac85c46c5..f4d436f742f 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeInt32ModelsRestOperations.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeInt32ModelsRestOperations.cs @@ -37,6 +37,23 @@ public PageSizeInt32ModelsRestOperations(HttpPipeline pipeline, string applicati _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, int? maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeInt32Model", false); + if (maxpagesize != null) + { + uri.AppendQuery("maxpagesize", maxpagesize.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, int? maxpagesize) { var message = _pipeline.CreateMessage(); @@ -114,6 +131,20 @@ public Response List(string subscriptionId, string } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, PageSizeInt32ModelData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeInt32Model/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, PageSizeInt32ModelData data) { var message = _pipeline.CreateMessage(); @@ -198,6 +229,20 @@ public Response Put(string subscriptionId, string resour } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeInt32Model/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -278,6 +323,14 @@ public Response Get(string subscriptionId, string resour } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, int? maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, int? maxpagesize) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeInt64ModelsRestOperations.cs b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeInt64ModelsRestOperations.cs index 0ff0c313b81..dd20352d54a 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeInt64ModelsRestOperations.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeInt64ModelsRestOperations.cs @@ -37,6 +37,23 @@ public PageSizeInt64ModelsRestOperations(HttpPipeline pipeline, string applicati _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, long? maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeInt64Model", false); + if (maxpagesize != null) + { + uri.AppendQuery("maxpagesize", maxpagesize.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, long? maxpagesize) { var message = _pipeline.CreateMessage(); @@ -114,6 +131,20 @@ public Response List(string subscriptionId, string } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, PageSizeInt64ModelData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeInt64Model/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, PageSizeInt64ModelData data) { var message = _pipeline.CreateMessage(); @@ -198,6 +229,20 @@ public Response Put(string subscriptionId, string resour } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeInt64Model/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -278,6 +323,14 @@ public Response Get(string subscriptionId, string resour } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, long? maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, long? maxpagesize) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeIntegerModelsRestOperations.cs b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeIntegerModelsRestOperations.cs index 9996e8d7c4a..c38adab4dc1 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeIntegerModelsRestOperations.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeIntegerModelsRestOperations.cs @@ -37,6 +37,23 @@ public PageSizeIntegerModelsRestOperations(HttpPipeline pipeline, string applica _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, int? maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeIntegerModel", false); + if (maxpagesize != null) + { + uri.AppendQuery("maxpagesize", maxpagesize.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, int? maxpagesize) { var message = _pipeline.CreateMessage(); @@ -114,6 +131,20 @@ public Response List(string subscriptionId, stri } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, PageSizeIntegerModelData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeIntegerModel/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, PageSizeIntegerModelData data) { var message = _pipeline.CreateMessage(); @@ -198,6 +229,20 @@ public Response Put(string subscriptionId, string reso } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeIntegerModel/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -278,6 +323,14 @@ public Response Get(string subscriptionId, string reso } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, int? maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, int? maxpagesize) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeNumericModelsRestOperations.cs b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeNumericModelsRestOperations.cs index c2571a02c1a..83d8c8538da 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeNumericModelsRestOperations.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeNumericModelsRestOperations.cs @@ -37,6 +37,23 @@ public PageSizeNumericModelsRestOperations(HttpPipeline pipeline, string applica _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, float? maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeNumericModel", false); + if (maxpagesize != null) + { + uri.AppendQuery("maxpagesize", maxpagesize.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, float? maxpagesize) { var message = _pipeline.CreateMessage(); @@ -114,6 +131,20 @@ public Response List(string subscriptionId, stri } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, PageSizeNumericModelData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeNumericModel/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, PageSizeNumericModelData data) { var message = _pipeline.CreateMessage(); @@ -198,6 +229,20 @@ public Response Put(string subscriptionId, string reso } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeNumericModel/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -278,6 +323,14 @@ public Response Get(string subscriptionId, string reso } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, float? maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, float? maxpagesize) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeStringModelsRestOperations.cs b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeStringModelsRestOperations.cs index d604a0387e1..9382d8d7b2e 100644 --- a/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeStringModelsRestOperations.cs +++ b/test/TestProjects/MgmtPagination/src/Generated/RestOperations/PageSizeStringModelsRestOperations.cs @@ -37,6 +37,23 @@ public PageSizeStringModelsRestOperations(HttpPipeline pipeline, string applicat _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeStringModel", false); + if (maxpagesize != null) + { + uri.AppendQuery("maxpagesize", maxpagesize, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string maxpagesize) { var message = _pipeline.CreateMessage(); @@ -114,6 +131,20 @@ public Response List(string subscriptionId, strin } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string name, PageSizeStringModelData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeStringModel/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string name, PageSizeStringModelData data) { var message = _pipeline.CreateMessage(); @@ -198,6 +229,20 @@ public Response Put(string subscriptionId, string resou } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/pageSizeStringModel/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string name) { var message = _pipeline.CreateMessage(); @@ -278,6 +323,14 @@ public Response Get(string subscriptionId, string resou } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string maxpagesize) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string maxpagesize) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/AvailabilitySetCollection.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/AvailabilitySetCollection.cs index f478d0d60c1..48a82d82f0f 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/AvailabilitySetCollection.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/AvailabilitySetCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateA try { var response = await _availabilitySetRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wa try { var response = _availabilitySetRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data, cancellationToken); - var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/AvailabilitySetResource.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/AvailabilitySetResource.cs index a1d7024379d..67f8754f621 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/AvailabilitySetResource.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/AvailabilitySetResource.cs @@ -202,7 +202,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _availabilitySetRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtParamOrderingArmOperation(response); + var uri = _availabilitySetRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParamOrderingArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -244,7 +246,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _availabilitySetRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new MgmtParamOrderingArmOperation(response); + var uri = _availabilitySetRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParamOrderingArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/DedicatedHostGroupCollection.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/DedicatedHostGroupCollection.cs index fdb7ce66f93..2fe676141ec 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/DedicatedHostGroupCollection.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/DedicatedHostGroupCollection.cs @@ -92,7 +92,9 @@ public virtual async Task> CreateOrUpda try { var response = await _dedicatedHostGroupRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, hostGroupName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new DedicatedHostGroupResource(Client, response), response.GetRawResponse())); + var uri = _dedicatedHostGroupRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, hostGroupName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new DedicatedHostGroupResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -141,7 +143,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil try { var response = _dedicatedHostGroupRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, hostGroupName, data, cancellationToken); - var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new DedicatedHostGroupResource(Client, response), response.GetRawResponse())); + var uri = _dedicatedHostGroupRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, hostGroupName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new DedicatedHostGroupResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/DedicatedHostGroupResource.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/DedicatedHostGroupResource.cs index 897acc6de17..a97cc580f90 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/DedicatedHostGroupResource.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/DedicatedHostGroupResource.cs @@ -275,7 +275,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _dedicatedHostGroupRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtParamOrderingArmOperation(response); + var uri = _dedicatedHostGroupRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParamOrderingArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -317,7 +319,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _dedicatedHostGroupRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new MgmtParamOrderingArmOperation(response); + var uri = _dedicatedHostGroupRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParamOrderingArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/EnvironmentContainerResource.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/EnvironmentContainerResource.cs index 3f959e692f0..ea5f962f106 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/EnvironmentContainerResource.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/EnvironmentContainerResource.cs @@ -201,7 +201,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _environmentContainerResourceEnvironmentContainersRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtParamOrderingArmOperation(response); + var uri = _environmentContainerResourceEnvironmentContainersRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParamOrderingArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -243,7 +245,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _environmentContainerResourceEnvironmentContainersRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken); - var operation = new MgmtParamOrderingArmOperation(response); + var uri = _environmentContainerResourceEnvironmentContainersRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParamOrderingArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; @@ -289,7 +293,9 @@ public virtual async Task> UpdateAsyn try { var response = await _environmentContainerResourceEnvironmentContainersRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new EnvironmentContainerResource(Client, response), response.GetRawResponse())); + var uri = _environmentContainerResourceEnvironmentContainersRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new EnvironmentContainerResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -335,7 +341,9 @@ public virtual ArmOperation Update(WaitUntil waitU try { var response = _environmentContainerResourceEnvironmentContainersRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new EnvironmentContainerResource(Client, response), response.GetRawResponse())); + var uri = _environmentContainerResourceEnvironmentContainersRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new EnvironmentContainerResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/EnvironmentContainerResourceCollection.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/EnvironmentContainerResourceCollection.cs index 1fe51fc1c6e..f95661f00b2 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/EnvironmentContainerResourceCollection.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/EnvironmentContainerResourceCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUp try { var response = await _environmentContainerResourceEnvironmentContainersRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new EnvironmentContainerResource(Client, response), response.GetRawResponse())); + var uri = _environmentContainerResourceEnvironmentContainersRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new EnvironmentContainerResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUnt try { var response = _environmentContainerResourceEnvironmentContainersRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, name, data, cancellationToken); - var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new EnvironmentContainerResource(Client, response), response.GetRawResponse())); + var uri = _environmentContainerResourceEnvironmentContainersRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParamOrderingArmOperation(Response.FromValue(new EnvironmentContainerResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/LongRunningOperation/MgmtParamOrderingArmOperation.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/LongRunningOperation/MgmtParamOrderingArmOperation.cs index 749c27f637e..800f28b9e05 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/LongRunningOperation/MgmtParamOrderingArmOperation.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/LongRunningOperation/MgmtParamOrderingArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtParamOrderingArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtParamOrderingArmOperation for mocking. protected MgmtParamOrderingArmOperation() { } - internal MgmtParamOrderingArmOperation(Response response) + internal MgmtParamOrderingArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtParamOrderingArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtParamOrderingArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/LongRunningOperation/MgmtParamOrderingArmOperationOfT.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/LongRunningOperation/MgmtParamOrderingArmOperationOfT.cs index 3fced40ea75..51eb8516cac 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/LongRunningOperation/MgmtParamOrderingArmOperationOfT.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/LongRunningOperation/MgmtParamOrderingArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtParamOrderingArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtParamOrderingArmOperation for mocking. protected MgmtParamOrderingArmOperation() { } - internal MgmtParamOrderingArmOperation(Response response) + internal MgmtParamOrderingArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtParamOrderingArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtParamOrderingArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtParamOrderingArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs index 5d7ebd2f65b..0fd4e9b4e79 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs @@ -37,6 +37,20 @@ public AvailabilitySetsRestOperations(HttpPipeline pipeline, string applicationI _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string subscriptionId, strin } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetPatch patch) { var message = _pipeline.CreateMessage(); @@ -209,6 +237,20 @@ public Response Update(string subscriptionId, string resour } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string availabilitySetName) { var message = _pipeline.CreateMessage(); @@ -278,6 +320,20 @@ public Response Delete(string subscriptionId, string resourceGroupName, string a } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string availabilitySetName) { var message = _pipeline.CreateMessage(); @@ -360,6 +416,21 @@ public Response Get(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreateListBySubscriptionRequestUri(string subscriptionId, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + return uri; + } + internal HttpMessage CreateListBySubscriptionRequest(string subscriptionId, string expand) { var message = _pipeline.CreateMessage(); @@ -433,6 +504,19 @@ public Response ListBySubscription(string subscriptio } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -506,6 +590,14 @@ public Response List(string subscriptionId, string re } } + internal RequestUriBuilder CreateListBySubscriptionNextPageRequestUri(string nextLink, string subscriptionId, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBySubscriptionNextPageRequest(string nextLink, string subscriptionId, string expand) { var message = _pipeline.CreateMessage(); @@ -576,6 +668,14 @@ public Response ListBySubscriptionNextPage(string nex } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/DedicatedHostGroupsRestOperations.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/DedicatedHostGroupsRestOperations.cs index 4974c8b155d..6b2650f5f0c 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/DedicatedHostGroupsRestOperations.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/DedicatedHostGroupsRestOperations.cs @@ -37,6 +37,23 @@ public DedicatedHostGroupsRestOperations(HttpPipeline pipeline, string applicati _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, InstanceViewType? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups", false); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, InstanceViewType? expand) { var message = _pipeline.CreateMessage(); @@ -116,6 +133,20 @@ public Response List(string subscriptionId, string } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, DedicatedHostGroupData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string hostGroupName, DedicatedHostGroupData data) { var message = _pipeline.CreateMessage(); @@ -204,6 +235,20 @@ public Response CreateOrUpdate(string subscriptionId, st } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, DedicatedHostGroupPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string hostGroupName, DedicatedHostGroupPatch patch) { var message = _pipeline.CreateMessage(); @@ -290,6 +335,20 @@ public Response Update(string subscriptionId, string res } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string hostGroupName) { var message = _pipeline.CreateMessage(); @@ -359,6 +418,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string h } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, InstanceViewType? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string hostGroupName, InstanceViewType? expand) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/DedicatedHostsRestOperations.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/DedicatedHostsRestOperations.cs index e044a243230..5931b4408ed 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/DedicatedHostsRestOperations.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/DedicatedHostsRestOperations.cs @@ -37,6 +37,22 @@ public DedicatedHostsRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, DedicatedHostData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts/", false); + uri.AppendPath(hostName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, DedicatedHostData data) { var message = _pipeline.CreateMessage(); @@ -121,6 +137,22 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, DedicatedHostPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts/", false); + uri.AppendPath(hostName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, DedicatedHostPatch patch) { var message = _pipeline.CreateMessage(); @@ -203,6 +235,22 @@ public Response Update(string subscriptionId, string resourceGroupName, string h } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts/", false); + uri.AppendPath(hostName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName) { var message = _pipeline.CreateMessage(); @@ -280,6 +328,26 @@ public Response Delete(string subscriptionId, string resourceGroupName, string h } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, InstanceViewType? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts/", false); + uri.AppendPath(hostName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, InstanceViewType? expand) { var message = _pipeline.CreateMessage(); @@ -374,6 +442,21 @@ public Response Get(string subscriptionId, string resourceGro } } + internal RequestUriBuilder CreateListByHostGroupRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByHostGroupRequest(string subscriptionId, string resourceGroupName, string hostGroupName) { var message = _pipeline.CreateMessage(); @@ -453,6 +536,14 @@ public Response ListByHostGroup(string subscriptionId, } } + internal RequestUriBuilder CreateListByHostGroupNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string hostGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByHostGroupNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string hostGroupName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/EnvironmentContainersRestOperations.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/EnvironmentContainersRestOperations.cs index 2f49f3dac15..a63abdae8ed 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/EnvironmentContainersRestOperations.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/EnvironmentContainersRestOperations.cs @@ -37,6 +37,21 @@ public EnvironmentContainersRestOperations(HttpPipeline pipeline, string applica _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string workspaceName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MachineLearningServices/workspaces/", false); + uri.AppendPath(workspaceName, true); + uri.AppendPath("/environments", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string workspaceName) { var message = _pipeline.CreateMessage(); @@ -116,6 +131,22 @@ public Response List(string subscription } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string workspaceName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MachineLearningServices/workspaces/", false); + uri.AppendPath(workspaceName, true); + uri.AppendPath("/environments/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string workspaceName, string name) { var message = _pipeline.CreateMessage(); @@ -192,6 +223,22 @@ public Response Delete(string subscriptionId, string resourceGroupName, string w } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string workspaceName, string name) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MachineLearningServices/workspaces/", false); + uri.AppendPath(workspaceName, true); + uri.AppendPath("/environments/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string workspaceName, string name) { var message = _pipeline.CreateMessage(); @@ -280,6 +327,22 @@ public Response Get(string subscriptionId, str } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string workspaceName, string name, EnvironmentContainerResourceData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MachineLearningServices/workspaces/", false); + uri.AppendPath(workspaceName, true); + uri.AppendPath("/environments/", false); + uri.AppendPath(name, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string workspaceName, string name, EnvironmentContainerResourceData data) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs index 1d32fad499e..b1ed35ad826 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs @@ -37,6 +37,24 @@ public VirtualMachineExtensionImagesRestOperations(HttpPipeline pipeline, string _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, AzureLocation location, string publisherName, string type, string version) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmextension/types/", false); + uri.AppendPath(type, true); + uri.AppendPath("/versions/", false); + uri.AppendPath(version, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, AzureLocation location, string publisherName, string type, string version) { var message = _pipeline.CreateMessage(); @@ -129,6 +147,21 @@ public Response Get(string subscriptionId, Azu } } + internal RequestUriBuilder CreateListTypesRequestUri(string subscriptionId, AzureLocation location, string publisherName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmextension/types", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTypesRequest(string subscriptionId, AzureLocation location, string publisherName) { var message = _pipeline.CreateMessage(); @@ -216,6 +249,35 @@ public Response> ListTypes(strin } } + internal RequestUriBuilder CreateListVersionsRequestUri(string subscriptionId, AzureLocation location, string publisherName, string type, string filter, int? top, string orderby) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmextension/types/", false); + uri.AppendPath(type, true); + uri.AppendPath("/versions", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (orderby != null) + { + uri.AppendQuery("$orderby", orderby, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListVersionsRequest(string subscriptionId, AzureLocation location, string publisherName, string type, string filter, int? top, string orderby) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/VirtualMachineScaleSetsRestOperations.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/VirtualMachineScaleSetsRestOperations.cs index 60c6ee86c2d..0b1d5bda3ee 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/VirtualMachineScaleSetsRestOperations.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/VirtualMachineScaleSetsRestOperations.cs @@ -37,6 +37,20 @@ public VirtualMachineScaleSetsRestOperations(HttpPipeline pipeline, string appli _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetData data, string quick) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetData data, string quick) { var message = _pipeline.CreateMessage(); @@ -121,6 +135,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetPatch patch) { var message = _pipeline.CreateMessage(); @@ -197,6 +225,21 @@ public Response Update(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, bool forceDeletion) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendQuery("forceDeletion", forceDeletion, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, bool forceDeletion) { var message = _pipeline.CreateMessage(); @@ -271,6 +314,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, ExpandTypesForGetVMScaleSet? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, ExpandTypesForGetVMScaleSet? expand) { var message = _pipeline.CreateMessage(); @@ -359,6 +420,25 @@ public Response Get(string subscriptionId, string re } } + internal RequestUriBuilder CreateDeallocateRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVMInstanceIDs vmInstanceIDs, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/deallocate", false); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeallocateRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVMInstanceIDs vmInstanceIDs, string expand) { var message = _pipeline.CreateMessage(); @@ -444,6 +524,25 @@ public Response Deallocate(string subscriptionId, string resourceGroupName, stri } } + internal RequestUriBuilder CreateDeleteInstancesRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVMInstanceRequiredIDs vmInstanceIDs, bool? forceDeletion) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/delete", false); + if (forceDeletion != null) + { + uri.AppendQuery("forceDeletion", forceDeletion.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteInstancesRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, VirtualMachineScaleSetVMInstanceRequiredIDs vmInstanceIDs, bool? forceDeletion) { var message = _pipeline.CreateMessage(); @@ -528,6 +627,26 @@ public Response DeleteInstances(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateGetInstanceViewRequestUri(string subscriptionId, string resourceGroupName, string vmScaleSetName, string filter, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(vmScaleSetName, true); + uri.AppendPath("/instanceView", false); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + uri.AppendQuery("filter", filter, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetInstanceViewRequest(string subscriptionId, string resourceGroupName, string vmScaleSetName, string filter, string expand) { var message = _pipeline.CreateMessage(); @@ -618,6 +737,19 @@ public Response GetInstanceView(string subsc } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -691,6 +823,14 @@ public Response List(string subscriptionId, st } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/WorkspacesRestOperations.cs b/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/WorkspacesRestOperations.cs index e393debd92b..b4843570e20 100644 --- a/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/WorkspacesRestOperations.cs +++ b/test/TestProjects/MgmtParamOrdering/src/Generated/RestOperations/WorkspacesRestOperations.cs @@ -37,6 +37,19 @@ public WorkspacesRestOperations(HttpPipeline pipeline, string applicationId, Uri _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MachineLearningServices/workspaces", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -110,6 +123,20 @@ public Response List(string subscriptionId, string resource } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string workspaceName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MachineLearningServices/workspaces/", false); + uri.AppendPath(workspaceName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string workspaceName) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Get(string subscriptionId, string resourceGroupNa } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string workspaceName, WorkspaceData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MachineLearningServices/workspaces/", false); + uri.AppendPath(workspaceName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string workspaceName, WorkspaceData data) { var message = _pipeline.CreateMessage(); @@ -272,6 +313,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string workspaceName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MachineLearningServices/workspaces/", false); + uri.AppendPath(workspaceName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string workspaceName) { var message = _pipeline.CreateMessage(); @@ -344,6 +399,20 @@ public Response Delete(string subscriptionId, string resourceGroupName, string w } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string workspaceName, WorkspacePatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.MachineLearningServices/workspaces/", false); + uri.AppendPath(workspaceName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string workspaceName, WorkspacePatch patch) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtParent/src/Generated/AvailabilitySetCollection.cs b/test/TestProjects/MgmtParent/src/Generated/AvailabilitySetCollection.cs index ba1a5fb40d9..d12e5419f3f 100644 --- a/test/TestProjects/MgmtParent/src/Generated/AvailabilitySetCollection.cs +++ b/test/TestProjects/MgmtParent/src/Generated/AvailabilitySetCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateA try { var response = await _availabilitySetRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtParentArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParentArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wa try { var response = _availabilitySetRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data, cancellationToken); - var operation = new MgmtParentArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse())); + var uri = _availabilitySetRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, availabilitySetName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParentArmOperation(Response.FromValue(new AvailabilitySetResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtParent/src/Generated/AvailabilitySetResource.cs b/test/TestProjects/MgmtParent/src/Generated/AvailabilitySetResource.cs index 08f1306bcaf..c3225c390bf 100644 --- a/test/TestProjects/MgmtParent/src/Generated/AvailabilitySetResource.cs +++ b/test/TestProjects/MgmtParent/src/Generated/AvailabilitySetResource.cs @@ -202,7 +202,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _availabilitySetRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtParentArmOperation(response); + var uri = _availabilitySetRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParentArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -244,7 +246,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _availabilitySetRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new MgmtParentArmOperation(response); + var uri = _availabilitySetRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParentArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtParent/src/Generated/DedicatedHostGroupCollection.cs b/test/TestProjects/MgmtParent/src/Generated/DedicatedHostGroupCollection.cs index 9e06c51bbee..2002bcb92a3 100644 --- a/test/TestProjects/MgmtParent/src/Generated/DedicatedHostGroupCollection.cs +++ b/test/TestProjects/MgmtParent/src/Generated/DedicatedHostGroupCollection.cs @@ -89,7 +89,9 @@ public virtual async Task> CreateOrUpda try { var response = await _dedicatedHostGroupRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, hostGroupName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtParentArmOperation(Response.FromValue(new DedicatedHostGroupResource(Client, response), response.GetRawResponse())); + var uri = _dedicatedHostGroupRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, hostGroupName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParentArmOperation(Response.FromValue(new DedicatedHostGroupResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil try { var response = _dedicatedHostGroupRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, hostGroupName, data, cancellationToken); - var operation = new MgmtParentArmOperation(Response.FromValue(new DedicatedHostGroupResource(Client, response), response.GetRawResponse())); + var uri = _dedicatedHostGroupRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, hostGroupName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParentArmOperation(Response.FromValue(new DedicatedHostGroupResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtParent/src/Generated/DedicatedHostGroupResource.cs b/test/TestProjects/MgmtParent/src/Generated/DedicatedHostGroupResource.cs index 9dbb0428ea4..78196626aad 100644 --- a/test/TestProjects/MgmtParent/src/Generated/DedicatedHostGroupResource.cs +++ b/test/TestProjects/MgmtParent/src/Generated/DedicatedHostGroupResource.cs @@ -275,7 +275,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _dedicatedHostGroupRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtParentArmOperation(response); + var uri = _dedicatedHostGroupRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParentArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -317,7 +319,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _dedicatedHostGroupRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new MgmtParentArmOperation(response); + var uri = _dedicatedHostGroupRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtParentArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtParent/src/Generated/LongRunningOperation/MgmtParentArmOperation.cs b/test/TestProjects/MgmtParent/src/Generated/LongRunningOperation/MgmtParentArmOperation.cs index 0f6a1d181e1..288ba1f2862 100644 --- a/test/TestProjects/MgmtParent/src/Generated/LongRunningOperation/MgmtParentArmOperation.cs +++ b/test/TestProjects/MgmtParent/src/Generated/LongRunningOperation/MgmtParentArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtParentArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtParentArmOperation for mocking. protected MgmtParentArmOperation() { } - internal MgmtParentArmOperation(Response response) + internal MgmtParentArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtParentArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtParentArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtParent/src/Generated/LongRunningOperation/MgmtParentArmOperationOfT.cs b/test/TestProjects/MgmtParent/src/Generated/LongRunningOperation/MgmtParentArmOperationOfT.cs index 8eb3c92bdea..bc38ebb87c7 100644 --- a/test/TestProjects/MgmtParent/src/Generated/LongRunningOperation/MgmtParentArmOperationOfT.cs +++ b/test/TestProjects/MgmtParent/src/Generated/LongRunningOperation/MgmtParentArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtParentArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtParentArmOperation for mocking. protected MgmtParentArmOperation() { } - internal MgmtParentArmOperation(Response response) + internal MgmtParentArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtParentArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtParentArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtParentArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtParent/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs b/test/TestProjects/MgmtParent/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs index 36d2c6aa7e6..bab57b3e624 100644 --- a/test/TestProjects/MgmtParent/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs +++ b/test/TestProjects/MgmtParent/src/Generated/RestOperations/AvailabilitySetsRestOperations.cs @@ -37,6 +37,20 @@ public AvailabilitySetsRestOperations(HttpPipeline pipeline, string applicationI _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetData data) { var message = _pipeline.CreateMessage(); @@ -123,6 +137,20 @@ public Response CreateOrUpdate(string subscriptionId, strin } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string availabilitySetName, AvailabilitySetPatch patch) { var message = _pipeline.CreateMessage(); @@ -209,6 +237,20 @@ public Response Update(string subscriptionId, string resour } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string availabilitySetName) { var message = _pipeline.CreateMessage(); @@ -278,6 +320,20 @@ public Response Delete(string subscriptionId, string resourceGroupName, string a } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string availabilitySetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets/", false); + uri.AppendPath(availabilitySetName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string availabilitySetName) { var message = _pipeline.CreateMessage(); @@ -360,6 +416,21 @@ public Response Get(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreateListBySubscriptionRequestUri(string subscriptionId, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + return uri; + } + internal HttpMessage CreateListBySubscriptionRequest(string subscriptionId, string expand) { var message = _pipeline.CreateMessage(); @@ -433,6 +504,19 @@ public Response ListBySubscription(string subscriptio } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/availabilitySets", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -506,6 +590,14 @@ public Response List(string subscriptionId, string re } } + internal RequestUriBuilder CreateListBySubscriptionNextPageRequestUri(string nextLink, string subscriptionId, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListBySubscriptionNextPageRequest(string nextLink, string subscriptionId, string expand) { var message = _pipeline.CreateMessage(); @@ -576,6 +668,14 @@ public Response ListBySubscriptionNextPage(string nex } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtParent/src/Generated/RestOperations/DedicatedHostGroupsRestOperations.cs b/test/TestProjects/MgmtParent/src/Generated/RestOperations/DedicatedHostGroupsRestOperations.cs index c65959f6f17..13e2d957a18 100644 --- a/test/TestProjects/MgmtParent/src/Generated/RestOperations/DedicatedHostGroupsRestOperations.cs +++ b/test/TestProjects/MgmtParent/src/Generated/RestOperations/DedicatedHostGroupsRestOperations.cs @@ -37,6 +37,20 @@ public DedicatedHostGroupsRestOperations(HttpPipeline pipeline, string applicati _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, DedicatedHostGroupData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string hostGroupName, DedicatedHostGroupData data) { var message = _pipeline.CreateMessage(); @@ -125,6 +139,20 @@ public Response CreateOrUpdate(string subscriptionId, st } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, DedicatedHostGroupPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string hostGroupName, DedicatedHostGroupPatch patch) { var message = _pipeline.CreateMessage(); @@ -211,6 +239,20 @@ public Response Update(string subscriptionId, string res } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string hostGroupName) { var message = _pipeline.CreateMessage(); @@ -280,6 +322,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string h } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, InstanceViewType? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string hostGroupName, InstanceViewType? expand) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtParent/src/Generated/RestOperations/DedicatedHostsRestOperations.cs b/test/TestProjects/MgmtParent/src/Generated/RestOperations/DedicatedHostsRestOperations.cs index a37da597267..e4ffd56217b 100644 --- a/test/TestProjects/MgmtParent/src/Generated/RestOperations/DedicatedHostsRestOperations.cs +++ b/test/TestProjects/MgmtParent/src/Generated/RestOperations/DedicatedHostsRestOperations.cs @@ -37,6 +37,22 @@ public DedicatedHostsRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, DedicatedHostData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts/", false); + uri.AppendPath(hostName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, DedicatedHostData data) { var message = _pipeline.CreateMessage(); @@ -121,6 +137,22 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, DedicatedHostPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts/", false); + uri.AppendPath(hostName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, DedicatedHostPatch patch) { var message = _pipeline.CreateMessage(); @@ -203,6 +235,22 @@ public Response Update(string subscriptionId, string resourceGroupName, string h } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts/", false); + uri.AppendPath(hostName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName) { var message = _pipeline.CreateMessage(); @@ -280,6 +328,26 @@ public Response Delete(string subscriptionId, string resourceGroupName, string h } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, InstanceViewType? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts/", false); + uri.AppendPath(hostName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string hostGroupName, string hostName, InstanceViewType? expand) { var message = _pipeline.CreateMessage(); @@ -374,6 +442,21 @@ public Response Get(string subscriptionId, string resourceGro } } + internal RequestUriBuilder CreateListByHostGroupRequestUri(string subscriptionId, string resourceGroupName, string hostGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/hostGroups/", false); + uri.AppendPath(hostGroupName, true); + uri.AppendPath("/hosts", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByHostGroupRequest(string subscriptionId, string resourceGroupName, string hostGroupName) { var message = _pipeline.CreateMessage(); @@ -453,6 +536,14 @@ public Response ListByHostGroup(string subscriptionId, } } + internal RequestUriBuilder CreateListByHostGroupNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string hostGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByHostGroupNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string hostGroupName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtParent/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs b/test/TestProjects/MgmtParent/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs index 11079983625..4eb474dfe28 100644 --- a/test/TestProjects/MgmtParent/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs +++ b/test/TestProjects/MgmtParent/src/Generated/RestOperations/VirtualMachineExtensionImagesRestOperations.cs @@ -37,6 +37,24 @@ public VirtualMachineExtensionImagesRestOperations(HttpPipeline pipeline, string _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string location, string publisherName, string type, string version) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmextension/types/", false); + uri.AppendPath(type, true); + uri.AppendPath("/versions/", false); + uri.AppendPath(version, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string location, string publisherName, string type, string version) { var message = _pipeline.CreateMessage(); @@ -131,6 +149,21 @@ public Response Get(string subscriptionId, str } } + internal RequestUriBuilder CreateListTypesRequestUri(string subscriptionId, string location, string publisherName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmextension/types", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTypesRequest(string subscriptionId, string location, string publisherName) { var message = _pipeline.CreateMessage(); @@ -220,6 +253,35 @@ public Response> ListTypes(strin } } + internal RequestUriBuilder CreateListVersionsRequestUri(string subscriptionId, string location, string publisherName, string type, string filter, int? top, string orderby) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Compute/locations/", false); + uri.AppendPath(location, true); + uri.AppendPath("/publishers/", false); + uri.AppendPath(publisherName, true); + uri.AppendPath("/artifacttypes/vmextension/types/", false); + uri.AppendPath(type, true); + uri.AppendPath("/versions", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (orderby != null) + { + uri.AppendQuery("$orderby", orderby, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListVersionsRequest(string subscriptionId, string location, string publisherName, string type, string filter, int? top, string orderby) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtPartialResource/src/Generated/ConfigurationProfileAssignmentCollection.cs b/test/TestProjects/MgmtPartialResource/src/Generated/ConfigurationProfileAssignmentCollection.cs index ed1b5a6191d..6a578a93d6a 100644 --- a/test/TestProjects/MgmtPartialResource/src/Generated/ConfigurationProfileAssignmentCollection.cs +++ b/test/TestProjects/MgmtPartialResource/src/Generated/ConfigurationProfileAssignmentCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> try { var response = await _configurationProfileAssignmentRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, configurationProfileAssignmentName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPartialResourceArmOperation(Response.FromValue(new ConfigurationProfileAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _configurationProfileAssignmentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, configurationProfileAssignmentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPartialResourceArmOperation(Response.FromValue(new ConfigurationProfileAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpda try { var response = _configurationProfileAssignmentRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, configurationProfileAssignmentName, data, cancellationToken); - var operation = new MgmtPartialResourceArmOperation(Response.FromValue(new ConfigurationProfileAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _configurationProfileAssignmentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, configurationProfileAssignmentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPartialResourceArmOperation(Response.FromValue(new ConfigurationProfileAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPartialResource/src/Generated/ConfigurationProfileAssignmentResource.cs b/test/TestProjects/MgmtPartialResource/src/Generated/ConfigurationProfileAssignmentResource.cs index 23ce34c9e5d..4946d7231b2 100644 --- a/test/TestProjects/MgmtPartialResource/src/Generated/ConfigurationProfileAssignmentResource.cs +++ b/test/TestProjects/MgmtPartialResource/src/Generated/ConfigurationProfileAssignmentResource.cs @@ -201,7 +201,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _configurationProfileAssignmentRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPartialResourceArmOperation(response); + var uri = _configurationProfileAssignmentRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPartialResourceArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -243,7 +245,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _configurationProfileAssignmentRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken); - var operation = new MgmtPartialResourceArmOperation(response); + var uri = _configurationProfileAssignmentRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPartialResourceArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; @@ -289,7 +293,9 @@ public virtual async Task> try { var response = await _configurationProfileAssignmentRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPartialResourceArmOperation(Response.FromValue(new ConfigurationProfileAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _configurationProfileAssignmentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPartialResourceArmOperation(Response.FromValue(new ConfigurationProfileAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -335,7 +341,9 @@ public virtual ArmOperation Update(WaitU try { var response = _configurationProfileAssignmentRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtPartialResourceArmOperation(Response.FromValue(new ConfigurationProfileAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _configurationProfileAssignmentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPartialResourceArmOperation(Response.FromValue(new ConfigurationProfileAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPartialResource/src/Generated/LongRunningOperation/MgmtPartialResourceArmOperation.cs b/test/TestProjects/MgmtPartialResource/src/Generated/LongRunningOperation/MgmtPartialResourceArmOperation.cs index f25a55e11bd..0e986bd5b03 100644 --- a/test/TestProjects/MgmtPartialResource/src/Generated/LongRunningOperation/MgmtPartialResourceArmOperation.cs +++ b/test/TestProjects/MgmtPartialResource/src/Generated/LongRunningOperation/MgmtPartialResourceArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtPartialResourceArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtPartialResourceArmOperation for mocking. protected MgmtPartialResourceArmOperation() { } - internal MgmtPartialResourceArmOperation(Response response) + internal MgmtPartialResourceArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtPartialResourceArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtPartialResourceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtPartialResource/src/Generated/LongRunningOperation/MgmtPartialResourceArmOperationOfT.cs b/test/TestProjects/MgmtPartialResource/src/Generated/LongRunningOperation/MgmtPartialResourceArmOperationOfT.cs index 4d0135258fd..28541ce2c13 100644 --- a/test/TestProjects/MgmtPartialResource/src/Generated/LongRunningOperation/MgmtPartialResourceArmOperationOfT.cs +++ b/test/TestProjects/MgmtPartialResource/src/Generated/LongRunningOperation/MgmtPartialResourceArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtPartialResourceArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtPartialResourceArmOperation for mocking. protected MgmtPartialResourceArmOperation() { } - internal MgmtPartialResourceArmOperation(Response response) + internal MgmtPartialResourceArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtPartialResourceArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtPartialResourceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtPartialResourceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtPartialResource/src/Generated/RestOperations/ConfigurationProfileAssignmentsRestOperations.cs b/test/TestProjects/MgmtPartialResource/src/Generated/RestOperations/ConfigurationProfileAssignmentsRestOperations.cs index 6c6b6e581f8..d8133028a20 100644 --- a/test/TestProjects/MgmtPartialResource/src/Generated/RestOperations/ConfigurationProfileAssignmentsRestOperations.cs +++ b/test/TestProjects/MgmtPartialResource/src/Generated/RestOperations/ConfigurationProfileAssignmentsRestOperations.cs @@ -37,6 +37,22 @@ public ConfigurationProfileAssignmentsRestOperations(HttpPipeline pipeline, stri _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmName, string configurationProfileAssignmentName, ConfigurationProfileAssignmentData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/providers/Microsoft.Automanage/configurationProfileAssignments/", false); + uri.AppendPath(configurationProfileAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vmName, string configurationProfileAssignmentName, ConfigurationProfileAssignmentData data) { var message = _pipeline.CreateMessage(); @@ -131,6 +147,22 @@ public Response CreateOrUpdate(string subscr } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmName, string configurationProfileAssignmentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/providers/Microsoft.Automanage/configurationProfileAssignments/", false); + uri.AppendPath(configurationProfileAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmName, string configurationProfileAssignmentName) { var message = _pipeline.CreateMessage(); @@ -219,6 +251,22 @@ public Response Get(string subscriptionId, s } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmName, string configurationProfileAssignmentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/providers/Microsoft.Automanage/configurationProfileAssignments/", false); + uri.AppendPath(configurationProfileAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmName, string configurationProfileAssignmentName) { var message = _pipeline.CreateMessage(); @@ -294,6 +342,21 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateListByVirtualMachinesRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/providers/Microsoft.Automanage/configurationProfileAssignments", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListByVirtualMachinesRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtPartialResource/src/Generated/RestOperations/PublicIPAddressesRestOperations.cs b/test/TestProjects/MgmtPartialResource/src/Generated/RestOperations/PublicIPAddressesRestOperations.cs index 94f7ab7aa18..d894e870e48 100644 --- a/test/TestProjects/MgmtPartialResource/src/Generated/RestOperations/PublicIPAddressesRestOperations.cs +++ b/test/TestProjects/MgmtPartialResource/src/Generated/RestOperations/PublicIPAddressesRestOperations.cs @@ -37,6 +37,21 @@ public PublicIPAddressesRestOperations(HttpPipeline pipeline, string application _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListVirtualMachineScaleSetPublicIPAddressesRequestUri(string subscriptionId, string resourceGroupName, string virtualMachineScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachineScaleSets/", false); + uri.AppendPath(virtualMachineScaleSetName, true); + uri.AppendPath("/publicipaddresses", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListVirtualMachineScaleSetPublicIPAddressesRequest(string subscriptionId, string resourceGroupName, string virtualMachineScaleSetName) { var message = _pipeline.CreateMessage(); @@ -116,6 +131,20 @@ public Response ListVirtualMachineScaleSetPublicIPAdd } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string publicIpAddressName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/publicIPAddresses/", false); + uri.AppendPath(publicIpAddressName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string publicIpAddressName) { var message = _pipeline.CreateMessage(); @@ -187,6 +216,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string p } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string publicIpAddressName, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/publicIPAddresses/", false); + uri.AppendPath(publicIpAddressName, true); + uri.AppendQuery("api-version", _apiVersion, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string publicIpAddressName, string expand) { var message = _pipeline.CreateMessage(); @@ -275,6 +322,20 @@ public Response Get(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string publicIpAddressName, PublicIPAddressData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/publicIPAddresses/", false); + uri.AppendPath(publicIpAddressName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string publicIpAddressName, PublicIPAddressData data) { var message = _pipeline.CreateMessage(); @@ -353,6 +414,17 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateListAllRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Network/publicIPAddresses", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListAllRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -420,6 +492,19 @@ public Response ListAll(string subscriptionId, Cancel } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Network/publicIPAddresses", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -493,6 +578,14 @@ public Response List(string subscriptionId, string re } } + internal RequestUriBuilder CreateListVirtualMachineScaleSetPublicIPAddressesNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string virtualMachineScaleSetName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListVirtualMachineScaleSetPublicIPAddressesNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string virtualMachineScaleSetName) { var message = _pipeline.CreateMessage(); @@ -569,6 +662,14 @@ public Response ListVirtualMachineScaleSetPublicIPAdd } } + internal RequestUriBuilder CreateListAllNextPageRequestUri(string nextLink, string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListAllNextPageRequest(string nextLink, string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -637,6 +738,14 @@ public Response ListAllNextPage(string nextLink, stri } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtPropertyBag/src/Generated/BarCollection.cs b/test/TestProjects/MgmtPropertyBag/src/Generated/BarCollection.cs index 06077c97f36..3e27fde64b5 100644 --- a/test/TestProjects/MgmtPropertyBag/src/Generated/BarCollection.cs +++ b/test/TestProjects/MgmtPropertyBag/src/Generated/BarCollection.cs @@ -95,7 +95,9 @@ public virtual async Task> CreateOrUpdateAsync(WaitUnt try { var response = await _barRestClient.CreateAsync(Id.SubscriptionId, Id.ResourceGroupName, barName, data, filter, top, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPropertyBagArmOperation(Response.FromValue(new BarResource(Client, response), response.GetRawResponse())); + var uri = _barRestClient.CreateCreateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, barName, data, filter, top, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPropertyBagArmOperation(Response.FromValue(new BarResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -147,7 +149,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, str try { var response = _barRestClient.Create(Id.SubscriptionId, Id.ResourceGroupName, barName, data, filter, top, ifMatch, cancellationToken); - var operation = new MgmtPropertyBagArmOperation(Response.FromValue(new BarResource(Client, response), response.GetRawResponse())); + var uri = _barRestClient.CreateCreateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, barName, data, filter, top, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPropertyBagArmOperation(Response.FromValue(new BarResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPropertyBag/src/Generated/BarResource.cs b/test/TestProjects/MgmtPropertyBag/src/Generated/BarResource.cs index ad0b7cb9f97..ae1bbc124e9 100644 --- a/test/TestProjects/MgmtPropertyBag/src/Generated/BarResource.cs +++ b/test/TestProjects/MgmtPropertyBag/src/Generated/BarResource.cs @@ -218,7 +218,9 @@ public virtual async Task> UpdateAsync(WaitUntil waitU try { var response = await _barRestClient.CreateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, filter, top, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPropertyBagArmOperation(Response.FromValue(new BarResource(Client, response), response.GetRawResponse())); + var uri = _barRestClient.CreateCreateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, filter, top, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPropertyBagArmOperation(Response.FromValue(new BarResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -267,7 +269,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, BarData dat try { var response = _barRestClient.Create(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, filter, top, ifMatch, cancellationToken); - var operation = new MgmtPropertyBagArmOperation(Response.FromValue(new BarResource(Client, response), response.GetRawResponse())); + var uri = _barRestClient.CreateCreateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, filter, top, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPropertyBagArmOperation(Response.FromValue(new BarResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPropertyBag/src/Generated/FooCollection.cs b/test/TestProjects/MgmtPropertyBag/src/Generated/FooCollection.cs index 31310c3cd01..7ec87ab23e7 100644 --- a/test/TestProjects/MgmtPropertyBag/src/Generated/FooCollection.cs +++ b/test/TestProjects/MgmtPropertyBag/src/Generated/FooCollection.cs @@ -95,7 +95,9 @@ public virtual async Task> CreateOrUpdateAsync(WaitUnt try { var response = await _fooRestClient.CreateAsync(Id.SubscriptionId, Id.ResourceGroupName, fooName, data, filter, top, orderby, cancellationToken).ConfigureAwait(false); - var operation = new MgmtPropertyBagArmOperation(Response.FromValue(new FooResource(Client, response), response.GetRawResponse())); + var uri = _fooRestClient.CreateCreateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, fooName, data, filter, top, orderby); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPropertyBagArmOperation(Response.FromValue(new FooResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -147,7 +149,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, str try { var response = _fooRestClient.Create(Id.SubscriptionId, Id.ResourceGroupName, fooName, data, filter, top, orderby, cancellationToken); - var operation = new MgmtPropertyBagArmOperation(Response.FromValue(new FooResource(Client, response), response.GetRawResponse())); + var uri = _fooRestClient.CreateCreateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, fooName, data, filter, top, orderby); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtPropertyBagArmOperation(Response.FromValue(new FooResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtPropertyBag/src/Generated/LongRunningOperation/MgmtPropertyBagArmOperationOfT.cs b/test/TestProjects/MgmtPropertyBag/src/Generated/LongRunningOperation/MgmtPropertyBagArmOperationOfT.cs index 5799b6fee4f..995183788b7 100644 --- a/test/TestProjects/MgmtPropertyBag/src/Generated/LongRunningOperation/MgmtPropertyBagArmOperationOfT.cs +++ b/test/TestProjects/MgmtPropertyBag/src/Generated/LongRunningOperation/MgmtPropertyBagArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtPropertyBagArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtPropertyBagArmOperation for mocking. protected MgmtPropertyBagArmOperation() { } - internal MgmtPropertyBagArmOperation(Response response) + internal MgmtPropertyBagArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtPropertyBagArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtPropertyBagArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtPropertyBagArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtPropertyBag/src/Generated/RestOperations/BarsRestOperations.cs b/test/TestProjects/MgmtPropertyBag/src/Generated/RestOperations/BarsRestOperations.cs index b2fe8381871..089fdb9c24a 100644 --- a/test/TestProjects/MgmtPropertyBag/src/Generated/RestOperations/BarsRestOperations.cs +++ b/test/TestProjects/MgmtPropertyBag/src/Generated/RestOperations/BarsRestOperations.cs @@ -38,6 +38,21 @@ public BarsRestOperations(HttpPipeline pipeline, string applicationId, Uri endpo _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListWithSubscriptionRequestUri(string subscriptionId, ETag? ifMatch, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/bars", false); + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListWithSubscriptionRequest(string subscriptionId, ETag? ifMatch, int? top) { var message = _pipeline.CreateMessage(); @@ -117,6 +132,35 @@ public Response ListWithSubscription(string subscriptionId, ETag? } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, ETag? ifMatch, string filter, int? top, ETag? ifNoneMatch, string maxpagesize, int? skip) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/bars", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (maxpagesize != null) + { + uri.AppendQuery("$maxpagesize", maxpagesize, true); + } + if (skip != null) + { + uri.AppendQuery("$skip", skip.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, ETag? ifMatch, string filter, int? top, ETag? ifNoneMatch, string maxpagesize, int? skip) { var message = _pipeline.CreateMessage(); @@ -236,6 +280,36 @@ public Response> List(string subscriptionId, string resou } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string barName, string ifMatch, string filter, int? top, int? skip, IEnumerable items) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/bars/", false); + uri.AppendPath(barName, true); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (skip != null) + { + uri.AppendQuery("$skip", skip.Value, true); + } + if (items != null && !(items is ChangeTrackingList changeTrackingList && changeTrackingList.IsUndefined)) + { + uri.AppendQueryDelimited("items", items, ",", true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string barName, string ifMatch, string filter, int? top, int? skip, IEnumerable items) { var message = _pipeline.CreateMessage(); @@ -348,6 +422,28 @@ public Response Get(string subscriptionId, string resourceGroupName, st } } + internal RequestUriBuilder CreateCreateRequestUri(string subscriptionId, string resourceGroupName, string barName, BarData data, string filter, int? top, ETag? ifMatch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/bars/", false); + uri.AppendPath(barName, true); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateRequest(string subscriptionId, string resourceGroupName, string barName, BarData data, string filter, int? top, ETag? ifMatch) { var message = _pipeline.CreateMessage(); @@ -452,6 +548,14 @@ public Response Create(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateListWithSubscriptionNextPageRequestUri(string nextLink, string subscriptionId, ETag? ifMatch, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListWithSubscriptionNextPageRequest(string nextLink, string subscriptionId, ETag? ifMatch, int? top) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtPropertyBag/src/Generated/RestOperations/FoosRestOperations.cs b/test/TestProjects/MgmtPropertyBag/src/Generated/RestOperations/FoosRestOperations.cs index f9af09a3dae..908ae3223c6 100644 --- a/test/TestProjects/MgmtPropertyBag/src/Generated/RestOperations/FoosRestOperations.cs +++ b/test/TestProjects/MgmtPropertyBag/src/Generated/RestOperations/FoosRestOperations.cs @@ -38,6 +38,25 @@ public FoosRestOperations(HttpPipeline pipeline, string applicationId, Uri endpo _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListWithSubscriptionRequestUri(string subscriptionId, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Fake/foos", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListWithSubscriptionRequest(string subscriptionId, string filter, int? top) { var message = _pipeline.CreateMessage(); @@ -127,6 +146,39 @@ public Response> ListWithSubscription(string subscription } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string filter, int? top, string orderby, ETag? ifMatch, string maxpagesize, int? skip) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/foos", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (orderby != null) + { + uri.AppendQuery("$orderby", orderby, true); + } + if (maxpagesize != null) + { + uri.AppendQuery("$maxpagesize", maxpagesize, true); + } + if (skip != null) + { + uri.AppendQuery("$skip", skip.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string filter, int? top, string orderby, ETag? ifMatch, string maxpagesize, int? skip) { var message = _pipeline.CreateMessage(); @@ -246,6 +298,36 @@ public Response> List(string subscriptionId, string resou } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string fooName, string filter, int? top, string orderby, ETag? ifMatch, int? skip) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/foos/", false); + uri.AppendPath(fooName, true); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (orderby != null) + { + uri.AppendQuery("$orderby", orderby, true); + } + if (skip != null) + { + uri.AppendQuery("$skip", skip.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string fooName, string filter, int? top, string orderby, ETag? ifMatch, int? skip) { var message = _pipeline.CreateMessage(); @@ -358,6 +440,32 @@ public Response Get(string subscriptionId, string resourceGroupName, st } } + internal RequestUriBuilder CreateCreateRequestUri(string subscriptionId, string resourceGroupName, string fooName, FooData data, string filter, int? top, string orderby) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/foos/", false); + uri.AppendPath(fooName, true); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (orderby != null) + { + uri.AppendQuery("$orderby", orderby, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateRequest(string subscriptionId, string resourceGroupName, string fooName, FooData data, string filter, int? top, string orderby) { var message = _pipeline.CreateMessage(); @@ -462,6 +570,20 @@ public Response Create(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string fooName, FooPatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/foos/", false); + uri.AppendPath(fooName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string fooName, FooPatch patch) { var message = _pipeline.CreateMessage(); @@ -548,6 +670,40 @@ public Response Update(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateReconnectRequestUri(string subscriptionId, string resourceGroupName, string fooName, FooData data, string filter, int? top, string orderby, ETag? ifMatch, IEnumerable countryOrRegions) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Fake/foos/", false); + uri.AppendPath(fooName, true); + uri.AppendPath("/reconnect", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (orderby != null) + { + uri.AppendQuery("$orderby", orderby, true); + } + if (countryOrRegions != null && !(countryOrRegions is ChangeTrackingList changeTrackingList && changeTrackingList.IsUndefined)) + { + foreach (var param in countryOrRegions) + { + uri.AppendQuery("countryOrRegions", param, true); + } + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateReconnectRequest(string subscriptionId, string resourceGroupName, string fooName, FooData data, string filter, int? top, string orderby, ETag? ifMatch, IEnumerable countryOrRegions) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtPropertyChooser/src/Generated/LongRunningOperation/MgmtPropertyChooserArmOperation.cs b/test/TestProjects/MgmtPropertyChooser/src/Generated/LongRunningOperation/MgmtPropertyChooserArmOperation.cs index a953a57a1d5..ea5367a5519 100644 --- a/test/TestProjects/MgmtPropertyChooser/src/Generated/LongRunningOperation/MgmtPropertyChooserArmOperation.cs +++ b/test/TestProjects/MgmtPropertyChooser/src/Generated/LongRunningOperation/MgmtPropertyChooserArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtPropertyChooserArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtPropertyChooserArmOperation for mocking. protected MgmtPropertyChooserArmOperation() { } - internal MgmtPropertyChooserArmOperation(Response response) + internal MgmtPropertyChooserArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtPropertyChooserArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtPropertyChooserArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtPropertyChooser/src/Generated/LongRunningOperation/MgmtPropertyChooserArmOperationOfT.cs b/test/TestProjects/MgmtPropertyChooser/src/Generated/LongRunningOperation/MgmtPropertyChooserArmOperationOfT.cs index c3831fe111a..eab0b5f6d96 100644 --- a/test/TestProjects/MgmtPropertyChooser/src/Generated/LongRunningOperation/MgmtPropertyChooserArmOperationOfT.cs +++ b/test/TestProjects/MgmtPropertyChooser/src/Generated/LongRunningOperation/MgmtPropertyChooserArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtPropertyChooserArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtPropertyChooserArmOperation for mocking. protected MgmtPropertyChooserArmOperation() { } - internal MgmtPropertyChooserArmOperation(Response response) + internal MgmtPropertyChooserArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtPropertyChooserArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtPropertyChooserArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtPropertyChooserArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtPropertyChooser/src/Generated/RestOperations/VirtualMachinesRestOperations.cs b/test/TestProjects/MgmtPropertyChooser/src/Generated/RestOperations/VirtualMachinesRestOperations.cs index 8f3d27d1359..09d53668c1d 100644 --- a/test/TestProjects/MgmtPropertyChooser/src/Generated/RestOperations/VirtualMachinesRestOperations.cs +++ b/test/TestProjects/MgmtPropertyChooser/src/Generated/RestOperations/VirtualMachinesRestOperations.cs @@ -37,6 +37,23 @@ public VirtualMachinesRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, InstanceViewType? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines", false); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, InstanceViewType? expand) { var message = _pipeline.CreateMessage(); @@ -116,6 +133,20 @@ public Response List(string subscriptionId, string res } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmName, VirtualMachineData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vmName, VirtualMachineData data) { var message = _pipeline.CreateMessage(); @@ -194,6 +225,20 @@ public Response CreateOrUpdate(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmName, VirtualMachinePatch patch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateUpdateRequest(string subscriptionId, string resourceGroupName, string vmName, VirtualMachinePatch patch) { var message = _pipeline.CreateMessage(); @@ -272,6 +317,24 @@ public Response Update(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmName, bool? forceDeletion) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + if (forceDeletion != null) + { + uri.AppendQuery("forceDeletion", forceDeletion.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmName, bool? forceDeletion) { var message = _pipeline.CreateMessage(); @@ -349,6 +412,24 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmName, InstanceViewType? expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmName, InstanceViewType? expand) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtResourceName/src/Generated/Disk.cs b/test/TestProjects/MgmtResourceName/src/Generated/Disk.cs index 3712a6f5d8d..61223b69a8f 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/Disk.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/Disk.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync(WaitUntil waitUntil, D try { var response = await _diskRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Disk(Client, response), response.GetRawResponse())); + var uri = _diskRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Disk(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, DiskData data, Can try { var response = _diskRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Disk(Client, response), response.GetRawResponse())); + var uri = _diskRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Disk(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtResourceName/src/Generated/DiskCollection.cs b/test/TestProjects/MgmtResourceName/src/Generated/DiskCollection.cs index 7276320c86c..ddf56cd4051 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/DiskCollection.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/DiskCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAsync(WaitUntil wait try { var response = await _diskRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, diskResourceName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Disk(Client, response), response.GetRawResponse())); + var uri = _diskRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, diskResourceName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Disk(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, string dis try { var response = _diskRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, diskResourceName, data, cancellationToken); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Disk(Client, response), response.GetRawResponse())); + var uri = _diskRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, diskResourceName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Disk(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtResourceName/src/Generated/DisplayResource.cs b/test/TestProjects/MgmtResourceName/src/Generated/DisplayResource.cs index 89cfe1f9ae3..da452e5c157 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/DisplayResource.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/DisplayResource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync(WaitUntil w try { var response = await _displayResourceRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new DisplayResource(Client, response), response.GetRawResponse())); + var uri = _displayResourceRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new DisplayResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, Display try { var response = _displayResourceRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new DisplayResource(Client, response), response.GetRawResponse())); + var uri = _displayResourceRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new DisplayResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtResourceName/src/Generated/DisplayResourceCollection.cs b/test/TestProjects/MgmtResourceName/src/Generated/DisplayResourceCollection.cs index f1a4f3d9bc3..8ec4bd1a1b3 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/DisplayResourceCollection.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/DisplayResourceCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAsync(Wai try { var response = await _displayResourceRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, displayResourceName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new DisplayResource(Client, response), response.GetRawResponse())); + var uri = _displayResourceRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, displayResourceName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new DisplayResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, try { var response = _displayResourceRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, displayResourceName, data, cancellationToken); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new DisplayResource(Client, response), response.GetRawResponse())); + var uri = _displayResourceRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, displayResourceName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new DisplayResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtResourceName/src/Generated/LongRunningOperation/MgmtResourceNameArmOperationOfT.cs b/test/TestProjects/MgmtResourceName/src/Generated/LongRunningOperation/MgmtResourceNameArmOperationOfT.cs index b11da653932..2ac91749d6d 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/LongRunningOperation/MgmtResourceNameArmOperationOfT.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/LongRunningOperation/MgmtResourceNameArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtResourceNameArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtResourceNameArmOperation for mocking. protected MgmtResourceNameArmOperation() { } - internal MgmtResourceNameArmOperation(Response response) + internal MgmtResourceNameArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtResourceNameArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtResourceNameArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtResourceNameArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtResourceName/src/Generated/MachineCollection.cs b/test/TestProjects/MgmtResourceName/src/Generated/MachineCollection.cs index ea4e3575a56..1d0f2418cbf 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/MachineCollection.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/MachineCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAsync(Wai try { var response = await _machineRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, machineName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new MachineResource(Client, response), response.GetRawResponse())); + var uri = _machineRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, machineName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new MachineResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, try { var response = _machineRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, machineName, data, cancellationToken); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new MachineResource(Client, response), response.GetRawResponse())); + var uri = _machineRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, machineName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new MachineResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtResourceName/src/Generated/MachineResource.cs b/test/TestProjects/MgmtResourceName/src/Generated/MachineResource.cs index 8452bd12a79..331ef9c9ee0 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/MachineResource.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/MachineResource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync(WaitUntil w try { var response = await _machineRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new MachineResource(Client, response), response.GetRawResponse())); + var uri = _machineRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new MachineResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, Machine try { var response = _machineRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new MachineResource(Client, response), response.GetRawResponse())); + var uri = _machineRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new MachineResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtResourceName/src/Generated/Memory.cs b/test/TestProjects/MgmtResourceName/src/Generated/Memory.cs index 35432df3023..1a58e683b98 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/Memory.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/Memory.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync(WaitUntil waitUntil, try { var response = await _memoryMemoryResourcesRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Memory(Client, response), response.GetRawResponse())); + var uri = _memoryMemoryResourcesRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Memory(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, MemoryData data, try { var response = _memoryMemoryResourcesRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Memory(Client, response), response.GetRawResponse())); + var uri = _memoryMemoryResourcesRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Memory(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtResourceName/src/Generated/MemoryCollection.cs b/test/TestProjects/MgmtResourceName/src/Generated/MemoryCollection.cs index c7a1e22a211..bf4fa818662 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/MemoryCollection.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/MemoryCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAsync(WaitUntil wa try { var response = await _memoryMemoryResourcesRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, memoryResourceName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Memory(Client, response), response.GetRawResponse())); + var uri = _memoryMemoryResourcesRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, memoryResourceName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Memory(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, string m try { var response = _memoryMemoryResourcesRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, memoryResourceName, data, cancellationToken); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Memory(Client, response), response.GetRawResponse())); + var uri = _memoryMemoryResourcesRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, memoryResourceName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new Memory(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtResourceName/src/Generated/NetworkCollection.cs b/test/TestProjects/MgmtResourceName/src/Generated/NetworkCollection.cs index 40ec3178254..847802095bd 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/NetworkCollection.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/NetworkCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAsync(Wai try { var response = await _networkNetworkResourcesRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, networkResourceName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new NetworkResource(Client, response), response.GetRawResponse())); + var uri = _networkNetworkResourcesRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, networkResourceName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new NetworkResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, try { var response = _networkNetworkResourcesRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, networkResourceName, data, cancellationToken); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new NetworkResource(Client, response), response.GetRawResponse())); + var uri = _networkNetworkResourcesRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, networkResourceName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new NetworkResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtResourceName/src/Generated/NetworkResource.cs b/test/TestProjects/MgmtResourceName/src/Generated/NetworkResource.cs index 405ef6638ec..4e037af9070 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/NetworkResource.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/NetworkResource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync(WaitUntil w try { var response = await _networkNetworkResourcesRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new NetworkResource(Client, response), response.GetRawResponse())); + var uri = _networkNetworkResourcesRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new NetworkResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, Network try { var response = _networkNetworkResourcesRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtResourceNameArmOperation(Response.FromValue(new NetworkResource(Client, response), response.GetRawResponse())); + var uri = _networkNetworkResourcesRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtResourceNameArmOperation(Response.FromValue(new NetworkResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/DisksRestOperations.cs b/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/DisksRestOperations.cs index fe5e8125e45..9e947be6a67 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/DisksRestOperations.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/DisksRestOperations.cs @@ -37,6 +37,19 @@ public DisksRestOperations(HttpPipeline pipeline, string applicationId, Uri endp _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/diskResources/", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string resourceGroup } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string diskResourceName, DiskData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/diskResources/", false); + uri.AppendPath(diskResourceName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string diskResourceName, DiskData data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGroupName, s } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string diskResourceName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/diskResources/", false); + uri.AppendPath(diskResourceName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string diskResourceName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/DisplayResourcesRestOperations.cs b/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/DisplayResourcesRestOperations.cs index e7f6ca24226..239393de526 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/DisplayResourcesRestOperations.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/DisplayResourcesRestOperations.cs @@ -37,6 +37,19 @@ public DisplayResourcesRestOperations(HttpPipeline pipeline, string applicationI _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/displayResources/", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string re } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string displayResourceName, DisplayResourceData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/displayResources/", false); + uri.AppendPath(displayResourceName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string displayResourceName, DisplayResourceData data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceG } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string displayResourceName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/displayResources/", false); + uri.AppendPath(displayResourceName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string displayResourceName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/MachinesRestOperations.cs b/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/MachinesRestOperations.cs index 592ad8667b2..4bbb018060b 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/MachinesRestOperations.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/MachinesRestOperations.cs @@ -37,6 +37,19 @@ public MachinesRestOperations(HttpPipeline pipeline, string applicationId, Uri e _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/machines/", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string machineName, MachineData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/machines/", false); + uri.AppendPath(machineName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string machineName, MachineData data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGroupName } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string machineName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/machines/", false); + uri.AppendPath(machineName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string machineName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/MemoryResourcesRestOperations.cs b/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/MemoryResourcesRestOperations.cs index 2060c249017..5f2f5fcd3d7 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/MemoryResourcesRestOperations.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/MemoryResourcesRestOperations.cs @@ -37,6 +37,19 @@ public MemoryResourcesRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/memoryResources/", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string res } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string memoryResourceName, MemoryData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/memoryResources/", false); + uri.AppendPath(memoryResourceName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string memoryResourceName, MemoryData data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGroupName, } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string memoryResourceName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/memoryResources/", false); + uri.AppendPath(memoryResourceName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string memoryResourceName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/NetworkResourcesRestOperations.cs b/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/NetworkResourcesRestOperations.cs index d039277c150..ba55afa189c 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/NetworkResourcesRestOperations.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/NetworkResourcesRestOperations.cs @@ -37,6 +37,19 @@ public NetworkResourcesRestOperations(HttpPipeline pipeline, string applicationI _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/networkResources/", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string re } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string networkResourceName, NetworkData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/networkResources/", false); + uri.AppendPath(networkResourceName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string networkResourceName, NetworkData data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGroupName } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string networkResourceName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/networkResources/", false); + uri.AppendPath(networkResourceName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string networkResourceName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/ProviderRestOperations.cs b/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/ProviderRestOperations.cs index 7f53ed69c67..a81b316bf5f 100644 --- a/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/ProviderRestOperations.cs +++ b/test/TestProjects/MgmtResourceName/src/Generated/RestOperations/ProviderRestOperations.cs @@ -37,6 +37,20 @@ public ProviderRestOperations(HttpPipeline pipeline, string applicationId, Uri e _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetRequestUri(string resourceProviderNamespace, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Authorization/providerOperations/", false); + uri.AppendPath(resourceProviderNamespace, true); + uri.AppendQuery("api-version", _apiVersion, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + return uri; + } + internal HttpMessage CreateGetRequest(string resourceProviderNamespace, string expand) { var message = _pipeline.CreateMessage(); @@ -113,6 +127,19 @@ public Response Get(string resourceProviderNamespace, str } } + internal RequestUriBuilder CreateListRequestUri(string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Authorization/providerOperations", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (expand != null) + { + uri.AppendQuery("$expand", expand, true); + } + return uri; + } + internal HttpMessage CreateListRequest(string expand) { var message = _pipeline.CreateMessage(); @@ -174,6 +201,14 @@ public Response List(string expand = null, } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string expand) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string expand) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSafeFlatten/src/Generated/LongRunningOperation/MgmtSafeFlattenArmOperationOfT.cs b/test/TestProjects/MgmtSafeFlatten/src/Generated/LongRunningOperation/MgmtSafeFlattenArmOperationOfT.cs index 723e49aecce..cae98e68d89 100644 --- a/test/TestProjects/MgmtSafeFlatten/src/Generated/LongRunningOperation/MgmtSafeFlattenArmOperationOfT.cs +++ b/test/TestProjects/MgmtSafeFlatten/src/Generated/LongRunningOperation/MgmtSafeFlattenArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtSafeFlattenArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtSafeFlattenArmOperation for mocking. protected MgmtSafeFlattenArmOperation() { } - internal MgmtSafeFlattenArmOperation(Response response) + internal MgmtSafeFlattenArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtSafeFlattenArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtSafeFlattenArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtSafeFlattenArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtSafeFlatten/src/Generated/RestOperations/CommonRestOperations.cs b/test/TestProjects/MgmtSafeFlatten/src/Generated/RestOperations/CommonRestOperations.cs index 7212ea01897..dab56825fe6 100644 --- a/test/TestProjects/MgmtSafeFlatten/src/Generated/RestOperations/CommonRestOperations.cs +++ b/test/TestProjects/MgmtSafeFlatten/src/Generated/RestOperations/CommonRestOperations.cs @@ -37,6 +37,17 @@ public CommonRestOperations(HttpPipeline pipeline, string applicationId, Uri end _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListTypeOnesBySubscriptionRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.TypeOne/typeOnes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTypeOnesBySubscriptionRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -104,6 +115,17 @@ public Response ListTypeOnesBySubscription(string subscriptio } } + internal RequestUriBuilder CreateListTypeTwosBySubscriptionRequestUri(string subscriptionId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.TypeTwo/typeTwos", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTypeTwosBySubscriptionRequest(string subscriptionId) { var message = _pipeline.CreateMessage(); @@ -171,6 +193,19 @@ public Response ListTypeTwosBySubscription(string subscriptio } } + internal RequestUriBuilder CreateListTypeOnesRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.TypeOne/typeOnes", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTypeOnesRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -244,6 +279,19 @@ public Response ListTypeOnes(string subscriptionId, string re } } + internal RequestUriBuilder CreateListTypeTwosRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.TypeTwo/typeTwos", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListTypeTwosRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -317,6 +365,20 @@ public Response ListTypeTwos(string subscriptionId, string re } } + internal RequestUriBuilder CreateGetTypeOneRequestUri(string subscriptionId, string resourceGroupName, string typeOneName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.TypeOne/typeOnes/", false); + uri.AppendPath(typeOneName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetTypeOneRequest(string subscriptionId, string resourceGroupName, string typeOneName) { var message = _pipeline.CreateMessage(); @@ -399,6 +461,20 @@ public Response GetTypeOne(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateCreateOrUpdateTypeOneRequestUri(string subscriptionId, string resourceGroupName, string typeOneName, TypeOneData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.TypeOne/typeOnes/", false); + uri.AppendPath(typeOneName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateTypeOneRequest(string subscriptionId, string resourceGroupName, string typeOneName, TypeOneData data) { var message = _pipeline.CreateMessage(); @@ -485,6 +561,20 @@ public Response CreateOrUpdateTypeOne(string subscriptionId, string } } + internal RequestUriBuilder CreateGetTypeTwoRequestUri(string subscriptionId, string resourceGroupName, string typeTwoName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.TypeTwo/typeTwos/", false); + uri.AppendPath(typeTwoName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetTypeTwoRequest(string subscriptionId, string resourceGroupName, string typeTwoName) { var message = _pipeline.CreateMessage(); @@ -567,6 +657,20 @@ public Response GetTypeTwo(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateCreateOrUpdateTypeTwoRequestUri(string subscriptionId, string resourceGroupName, string typeTwoName, TypeTwoData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.TypeTwo/typeTwos/", false); + uri.AppendPath(typeTwoName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateTypeTwoRequest(string subscriptionId, string resourceGroupName, string typeTwoName, TypeTwoData data) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeOneCollection.cs b/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeOneCollection.cs index cdbe596b632..9a3efc8513f 100644 --- a/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeOneCollection.cs +++ b/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeOneCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateAsync(Wai try { var response = await _typeOneCommonRestClient.CreateOrUpdateTypeOneAsync(Id.SubscriptionId, Id.ResourceGroupName, typeOneName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse())); + var uri = _typeOneCommonRestClient.CreateCreateOrUpdateTypeOneRequestUri(Id.SubscriptionId, Id.ResourceGroupName, typeOneName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, try { var response = _typeOneCommonRestClient.CreateOrUpdateTypeOne(Id.SubscriptionId, Id.ResourceGroupName, typeOneName, data, cancellationToken); - var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse())); + var uri = _typeOneCommonRestClient.CreateCreateOrUpdateTypeOneRequestUri(Id.SubscriptionId, Id.ResourceGroupName, typeOneName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeOneResource.cs b/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeOneResource.cs index d55636933de..09827ab3866 100644 --- a/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeOneResource.cs +++ b/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeOneResource.cs @@ -205,7 +205,9 @@ public virtual async Task> UpdateAsync(WaitUntil w try { var response = await _typeOneCommonRestClient.CreateOrUpdateTypeOneAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse())); + var uri = _typeOneCommonRestClient.CreateCreateOrUpdateTypeOneRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -251,7 +253,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, TypeOne try { var response = _typeOneCommonRestClient.CreateOrUpdateTypeOne(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse())); + var uri = _typeOneCommonRestClient.CreateCreateOrUpdateTypeOneRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeOneResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeTwoCollection.cs b/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeTwoCollection.cs index 2229beb21bc..c5ba64406e1 100644 --- a/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeTwoCollection.cs +++ b/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeTwoCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateAsync(Wai try { var response = await _typeTwoCommonRestClient.CreateOrUpdateTypeTwoAsync(Id.SubscriptionId, Id.ResourceGroupName, typeTwoName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse())); + var uri = _typeTwoCommonRestClient.CreateCreateOrUpdateTypeTwoRequestUri(Id.SubscriptionId, Id.ResourceGroupName, typeTwoName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, try { var response = _typeTwoCommonRestClient.CreateOrUpdateTypeTwo(Id.SubscriptionId, Id.ResourceGroupName, typeTwoName, data, cancellationToken); - var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse())); + var uri = _typeTwoCommonRestClient.CreateCreateOrUpdateTypeTwoRequestUri(Id.SubscriptionId, Id.ResourceGroupName, typeTwoName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeTwoResource.cs b/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeTwoResource.cs index 7e189bb119a..903581b6152 100644 --- a/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeTwoResource.cs +++ b/test/TestProjects/MgmtSafeFlatten/src/Generated/TypeTwoResource.cs @@ -205,7 +205,9 @@ public virtual async Task> UpdateAsync(WaitUntil w try { var response = await _typeTwoCommonRestClient.CreateOrUpdateTypeTwoAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse())); + var uri = _typeTwoCommonRestClient.CreateCreateOrUpdateTypeTwoRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -251,7 +253,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, TypeTwo try { var response = _typeTwoCommonRestClient.CreateOrUpdateTypeTwo(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse())); + var uri = _typeTwoCommonRestClient.CreateCreateOrUpdateTypeTwoRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSafeFlattenArmOperation(Response.FromValue(new TypeTwoResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/FakePolicyAssignmentCollection.cs b/test/TestProjects/MgmtScopeResource/src/Generated/FakePolicyAssignmentCollection.cs index ce2cf9eea27..1c097484319 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/FakePolicyAssignmentCollection.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/FakePolicyAssignmentCollection.cs @@ -83,7 +83,9 @@ public virtual async Task> CreateOrUp try { var response = await _fakePolicyAssignmentRestClient.CreateAsync(Id, policyAssignmentName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new FakePolicyAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _fakePolicyAssignmentRestClient.CreateCreateRequestUri(Id, policyAssignmentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new FakePolicyAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -132,7 +134,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUnt try { var response = _fakePolicyAssignmentRestClient.Create(Id, policyAssignmentName, data, cancellationToken); - var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new FakePolicyAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _fakePolicyAssignmentRestClient.CreateCreateRequestUri(Id, policyAssignmentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new FakePolicyAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/FakePolicyAssignmentResource.cs b/test/TestProjects/MgmtScopeResource/src/Generated/FakePolicyAssignmentResource.cs index 0b3d031c40b..b3688cc2e3b 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/FakePolicyAssignmentResource.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/FakePolicyAssignmentResource.cs @@ -198,7 +198,9 @@ public virtual async Task> DeleteAsyn try { var response = await _fakePolicyAssignmentRestClient.DeleteAsync(Id.Parent, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new FakePolicyAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _fakePolicyAssignmentRestClient.CreateDeleteRequestUri(Id.Parent, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new FakePolicyAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -240,7 +242,9 @@ public virtual ArmOperation Delete(WaitUntil waitU try { var response = _fakePolicyAssignmentRestClient.Delete(Id.Parent, Id.Name, cancellationToken); - var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new FakePolicyAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _fakePolicyAssignmentRestClient.CreateDeleteRequestUri(Id.Parent, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new FakePolicyAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; @@ -286,7 +290,9 @@ public virtual async Task> UpdateAsyn try { var response = await _fakePolicyAssignmentRestClient.CreateAsync(Id.Parent, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new FakePolicyAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _fakePolicyAssignmentRestClient.CreateCreateRequestUri(Id.Parent, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new FakePolicyAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -332,7 +338,9 @@ public virtual ArmOperation Update(WaitUntil waitU try { var response = _fakePolicyAssignmentRestClient.Create(Id.Parent, Id.Name, data, cancellationToken); - var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new FakePolicyAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _fakePolicyAssignmentRestClient.CreateCreateRequestUri(Id.Parent, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new FakePolicyAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/GuestConfigurationAssignmentCollection.cs b/test/TestProjects/MgmtScopeResource/src/Generated/GuestConfigurationAssignmentCollection.cs index 73b91d6f84c..ef6e0f57165 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/GuestConfigurationAssignmentCollection.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/GuestConfigurationAssignmentCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> Cr try { var response = await _guestConfigurationAssignmentRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, guestConfigurationAssignmentName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _guestConfigurationAssignmentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, guestConfigurationAssignmentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -139,7 +141,9 @@ public virtual ArmOperation CreateOrUpdate try { var response = _guestConfigurationAssignmentRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, guestConfigurationAssignmentName, data, cancellationToken); - var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _guestConfigurationAssignmentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, guestConfigurationAssignmentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/GuestConfigurationAssignmentResource.cs b/test/TestProjects/MgmtScopeResource/src/Generated/GuestConfigurationAssignmentResource.cs index e0515a13893..fb43f6057ab 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/GuestConfigurationAssignmentResource.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/GuestConfigurationAssignmentResource.cs @@ -200,7 +200,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _guestConfigurationAssignmentRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtScopeResourceArmOperation(response); + var uri = _guestConfigurationAssignmentRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -242,7 +244,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _guestConfigurationAssignmentRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, cancellationToken); - var operation = new MgmtScopeResourceArmOperation(response); + var uri = _guestConfigurationAssignmentRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; @@ -288,7 +292,9 @@ public virtual async Task> Up try { var response = await _guestConfigurationAssignmentRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _guestConfigurationAssignmentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -334,7 +340,9 @@ public virtual ArmOperation Update(WaitUnt try { var response = _guestConfigurationAssignmentRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data, cancellationToken); - var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse())); + var uri = _guestConfigurationAssignmentRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new GuestConfigurationAssignmentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/LongRunningOperation/MgmtScopeResourceArmOperation.cs b/test/TestProjects/MgmtScopeResource/src/Generated/LongRunningOperation/MgmtScopeResourceArmOperation.cs index e9c9fa3d7bc..a88cfec39fa 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/LongRunningOperation/MgmtScopeResourceArmOperation.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/LongRunningOperation/MgmtScopeResourceArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtScopeResourceArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtScopeResourceArmOperation for mocking. protected MgmtScopeResourceArmOperation() { } - internal MgmtScopeResourceArmOperation(Response response) + internal MgmtScopeResourceArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtScopeResourceArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtScopeResourceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/LongRunningOperation/MgmtScopeResourceArmOperationOfT.cs b/test/TestProjects/MgmtScopeResource/src/Generated/LongRunningOperation/MgmtScopeResourceArmOperationOfT.cs index 2c8dbc008a9..7b6c5374e02 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/LongRunningOperation/MgmtScopeResourceArmOperationOfT.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/LongRunningOperation/MgmtScopeResourceArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtScopeResourceArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtScopeResourceArmOperation for mocking. protected MgmtScopeResourceArmOperation() { } - internal MgmtScopeResourceArmOperation(Response response) + internal MgmtScopeResourceArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtScopeResourceArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtScopeResourceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtScopeResourceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/ResourceLinkCollection.cs b/test/TestProjects/MgmtScopeResource/src/Generated/ResourceLinkCollection.cs index b5c75505811..d85b3510d31 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/ResourceLinkCollection.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/ResourceLinkCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateAsyn try { var response = await _resourceLinkRestClient.CreateOrUpdateAsync(_scope, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new ResourceLinkResource(Client, response), response.GetRawResponse())); + var uri = _resourceLinkRestClient.CreateCreateOrUpdateRequestUri(_scope, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new ResourceLinkResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -137,7 +139,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitU try { var response = _resourceLinkRestClient.CreateOrUpdate(_scope, data, cancellationToken); - var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new ResourceLinkResource(Client, response), response.GetRawResponse())); + var uri = _resourceLinkRestClient.CreateCreateOrUpdateRequestUri(_scope, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new ResourceLinkResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/ResourceLinkResource.cs b/test/TestProjects/MgmtScopeResource/src/Generated/ResourceLinkResource.cs index 9bb38a57dd4..113280dc913 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/ResourceLinkResource.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/ResourceLinkResource.cs @@ -198,7 +198,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _resourceLinkRestClient.DeleteAsync(Id, cancellationToken).ConfigureAwait(false); - var operation = new MgmtScopeResourceArmOperation(response); + var uri = _resourceLinkRestClient.CreateDeleteRequestUri(Id); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -240,7 +242,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _resourceLinkRestClient.Delete(Id, cancellationToken); - var operation = new MgmtScopeResourceArmOperation(response); + var uri = _resourceLinkRestClient.CreateDeleteRequestUri(Id); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; @@ -286,7 +290,9 @@ public virtual async Task> UpdateAsync(WaitUn try { var response = await _resourceLinkRestClient.CreateOrUpdateAsync(Id, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new ResourceLinkResource(Client, response), response.GetRawResponse())); + var uri = _resourceLinkRestClient.CreateCreateOrUpdateRequestUri(Id, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new ResourceLinkResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -332,7 +338,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, Re try { var response = _resourceLinkRestClient.CreateOrUpdate(Id, data, cancellationToken); - var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new ResourceLinkResource(Client, response), response.GetRawResponse())); + var uri = _resourceLinkRestClient.CreateCreateOrUpdateRequestUri(Id, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtScopeResourceArmOperation(Response.FromValue(new ResourceLinkResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/DeploymentRestOperations.cs b/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/DeploymentRestOperations.cs index fdc072d4c70..3ff5eb7a9a4 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/DeploymentRestOperations.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/DeploymentRestOperations.cs @@ -37,6 +37,20 @@ public DeploymentRestOperations(HttpPipeline pipeline, string applicationId, Uri _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetAtScopeRequestUri(string scope, string deploymentName, string operationId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Resources/deployments/", false); + uri.AppendPath(deploymentName, true); + uri.AppendPath("/operations/", false); + uri.AppendPath(operationId, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateGetAtScopeRequest(string scope, string deploymentName, string operationId) { var message = _pipeline.CreateMessage(); @@ -115,6 +129,23 @@ public Response GetAtScope(string scope, string deploymentN } } + internal RequestUriBuilder CreateListAtScopeRequestUri(string scope, string deploymentName, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Resources/deployments/", false); + uri.AppendPath(deploymentName, true); + uri.AppendPath("/operations", false); + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateListAtScopeRequest(string scope, string deploymentName, int? top) { var message = _pipeline.CreateMessage(); @@ -194,6 +225,14 @@ public Response ListAtScope(string scope, string } } + internal RequestUriBuilder CreateListAtScopeNextPageRequestUri(string nextLink, string scope, string deploymentName, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal Azure.Core.HttpMessage CreateListAtScopeNextPageRequest(string nextLink, string scope, string deploymentName, int? top) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/DeploymentsRestOperations.cs b/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/DeploymentsRestOperations.cs index 5350a43c41f..08f434d06b1 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/DeploymentsRestOperations.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/DeploymentsRestOperations.cs @@ -37,6 +37,18 @@ public DeploymentsRestOperations(HttpPipeline pipeline, string applicationId, Ur _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateDeleteAtScopeRequestUri(string scope, string deploymentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Resources/deployments/", false); + uri.AppendPath(deploymentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateDeleteAtScopeRequest(string scope, string deploymentName) { var message = _pipeline.CreateMessage(); @@ -101,6 +113,18 @@ public Response DeleteAtScope(string scope, string deploymentName, CancellationT } } + internal RequestUriBuilder CreateCheckExistenceAtScopeRequestUri(string scope, string deploymentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Resources/deployments/", false); + uri.AppendPath(deploymentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateCheckExistenceAtScopeRequest(string scope, string deploymentName) { var message = _pipeline.CreateMessage(); @@ -179,6 +203,18 @@ public Response CheckExistenceAtScope(string scope, string deploymentName, } } + internal RequestUriBuilder CreateCreateOrUpdateAtScopeRequestUri(string scope, string deploymentName, Deployment deployment) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Resources/deployments/", false); + uri.AppendPath(deploymentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateCreateOrUpdateAtScopeRequest(string scope, string deploymentName, Deployment deployment) { var message = _pipeline.CreateMessage(); @@ -251,6 +287,18 @@ public Response CreateOrUpdateAtScope(string scope, string deploymentName, Deplo } } + internal RequestUriBuilder CreateGetAtScopeRequestUri(string scope, string deploymentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Resources/deployments/", false); + uri.AppendPath(deploymentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateGetAtScopeRequest(string scope, string deploymentName) { var message = _pipeline.CreateMessage(); @@ -327,6 +375,19 @@ public Response GetAtScope(string scope, string deployme } } + internal RequestUriBuilder CreateCancelAtScopeRequestUri(string scope, string deploymentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Resources/deployments/", false); + uri.AppendPath(deploymentName, true); + uri.AppendPath("/cancel", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateCancelAtScopeRequest(string scope, string deploymentName) { var message = _pipeline.CreateMessage(); @@ -390,6 +451,19 @@ public Response CancelAtScope(string scope, string deploymentName, CancellationT } } + internal RequestUriBuilder CreateValidateAtScopeRequestUri(string scope, string deploymentName, Deployment deployment) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Resources/deployments/", false); + uri.AppendPath(deploymentName, true); + uri.AppendPath("/validate", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateValidateAtScopeRequest(string scope, string deploymentName, Deployment deployment) { var message = _pipeline.CreateMessage(); @@ -465,6 +539,19 @@ public Response ValidateAtScope(string scope, string deploymentName, Deployment } } + internal RequestUriBuilder CreateExportTemplateAtScopeRequestUri(string scope, string deploymentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Resources/deployments/", false); + uri.AppendPath(deploymentName, true); + uri.AppendPath("/exportTemplate", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateExportTemplateAtScopeRequest(string scope, string deploymentName) { var message = _pipeline.CreateMessage(); @@ -538,6 +625,25 @@ public Response ExportTemplateAtScope(string scope, stri } } + internal RequestUriBuilder CreateListAtScopeRequestUri(string scope, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Resources/deployments/", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateListAtScopeRequest(string scope, string filter, int? top) { var message = _pipeline.CreateMessage(); @@ -615,6 +721,17 @@ public Response ListAtScope(string scope, string filter = } } + internal RequestUriBuilder CreateWhatIfAtTenantScopeRequestUri(string deploymentName, DeploymentWhatIf deploymentWhatIf) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Resources/deployments/", false); + uri.AppendPath(deploymentName, true); + uri.AppendPath("/whatIf", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateWhatIfAtTenantScopeRequest(string deploymentName, DeploymentWhatIf deploymentWhatIf) { var message = _pipeline.CreateMessage(); @@ -682,6 +799,19 @@ public Response WhatIfAtTenantScope(string deploymentName, DeploymentWhatIf depl } } + internal RequestUriBuilder CreateWhatIfAtManagementGroupScopeRequestUri(string groupId, string deploymentName, DeploymentWhatIf deploymentWhatIf) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(groupId, true); + uri.AppendPath("/providers/Microsoft.Resources/deployments/", false); + uri.AppendPath(deploymentName, true); + uri.AppendPath("/whatIf", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateWhatIfAtManagementGroupScopeRequest(string groupId, string deploymentName, DeploymentWhatIf deploymentWhatIf) { var message = _pipeline.CreateMessage(); @@ -755,6 +885,19 @@ public Response WhatIfAtManagementGroupScope(string groupId, string deploymentNa } } + internal RequestUriBuilder CreateWhatIfAtSubscriptionScopeRequestUri(string subscriptionId, string deploymentName, DeploymentWhatIf deploymentWhatIf) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Resources/deployments/", false); + uri.AppendPath(deploymentName, true); + uri.AppendPath("/whatIf", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateWhatIfAtSubscriptionScopeRequest(string subscriptionId, string deploymentName, DeploymentWhatIf deploymentWhatIf) { var message = _pipeline.CreateMessage(); @@ -828,6 +971,21 @@ public Response WhatIfAtSubscriptionScope(string subscriptionId, string deployme } } + internal RequestUriBuilder CreateWhatIfRequestUri(string subscriptionId, string resourceGroupName, string deploymentName, DeploymentWhatIf deploymentWhatIf) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourcegroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Resources/deployments/", false); + uri.AppendPath(deploymentName, true); + uri.AppendPath("/whatIf", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateWhatIfRequest(string subscriptionId, string resourceGroupName, string deploymentName, DeploymentWhatIf deploymentWhatIf) { var message = _pipeline.CreateMessage(); @@ -907,6 +1065,15 @@ public Response WhatIf(string subscriptionId, string resourceGroupName, string d } } + internal RequestUriBuilder CreateCalculateTemplateHashRequestUri(BinaryData template) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Resources/calculateTemplateHash", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateCalculateTemplateHashRequest(BinaryData template) { var message = _pipeline.CreateMessage(); @@ -981,6 +1148,14 @@ public Response CalculateTemplateHash(BinaryData template, C } } + internal RequestUriBuilder CreateListAtScopeNextPageRequestUri(string nextLink, string scope, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal Azure.Core.HttpMessage CreateListAtScopeNextPageRequest(string nextLink, string scope, string filter, int? top) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/FakePolicyAssignmentsRestOperations.cs b/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/FakePolicyAssignmentsRestOperations.cs index 1678c635252..d49349a6ecb 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/FakePolicyAssignmentsRestOperations.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/FakePolicyAssignmentsRestOperations.cs @@ -37,6 +37,18 @@ public FakePolicyAssignmentsRestOperations(HttpPipeline pipeline, string applica _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateDeleteRequestUri(string scope, string policyAssignmentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Authorization/policyAssignments/", false); + uri.AppendPath(policyAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateDeleteRequest(string scope, string policyAssignmentName) { var message = _pipeline.CreateMessage(); @@ -113,6 +125,18 @@ public Response Delete(string scope, string policyAssi } } + internal RequestUriBuilder CreateCreateRequestUri(string scope, string policyAssignmentName, FakePolicyAssignmentData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Authorization/policyAssignments/", false); + uri.AppendPath(policyAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateCreateRequest(string scope, string policyAssignmentName, FakePolicyAssignmentData data) { var message = _pipeline.CreateMessage(); @@ -193,6 +217,18 @@ public Response Create(string scope, string policyAssi } } + internal RequestUriBuilder CreateGetRequestUri(string scope, string policyAssignmentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Authorization/policyAssignments/", false); + uri.AppendPath(policyAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateGetRequest(string scope, string policyAssignmentName) { var message = _pipeline.CreateMessage(); @@ -269,6 +305,27 @@ public Response Get(string scope, string policyAssignm } } + internal RequestUriBuilder CreateListForResourceGroupRequestUri(string subscriptionId, string resourceGroupName, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Authorization/policyAssignments", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, false); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateListForResourceGroupRequest(string subscriptionId, string resourceGroupName, string filter, int? top) { var message = _pipeline.CreateMessage(); @@ -354,6 +411,35 @@ public Response ListForResourceGroup(string subs } } + internal RequestUriBuilder CreateListForResourceRequestUri(string subscriptionId, string resourceGroupName, string resourceProviderNamespace, string parentResourcePath, string resourceType, string resourceName, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/", false); + uri.AppendPath(resourceProviderNamespace, true); + uri.AppendPath("/", false); + uri.AppendPath(parentResourcePath, false); + uri.AppendPath("/", false); + uri.AppendPath(resourceType, false); + uri.AppendPath("/", false); + uri.AppendPath(resourceName, true); + uri.AppendPath("/providers/Microsoft.Authorization/policyAssignments", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, false); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateListForResourceRequest(string subscriptionId, string resourceGroupName, string resourceProviderNamespace, string parentResourcePath, string resourceType, string resourceName, string filter, int? top) { var message = _pipeline.CreateMessage(); @@ -463,6 +549,25 @@ public Response ListForResource(string subscript } } + internal RequestUriBuilder CreateListForManagementGroupRequestUri(string managementGroupId, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/providers/Microsoft.Management/managementGroups/", false); + uri.AppendPath(managementGroupId, true); + uri.AppendPath("/providers/Microsoft.Authorization/policyAssignments", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, false); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateListForManagementGroupRequest(string managementGroupId, string filter, int? top) { var message = _pipeline.CreateMessage(); @@ -542,6 +647,25 @@ public Response ListForManagementGroup(string ma } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Authorization/policyAssignments", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, false); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateListRequest(string subscriptionId, string filter, int? top) { var message = _pipeline.CreateMessage(); @@ -621,6 +745,14 @@ public Response List(string subscriptionId, stri } } + internal RequestUriBuilder CreateListForResourceGroupNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal Azure.Core.HttpMessage CreateListForResourceGroupNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string filter, int? top) { var message = _pipeline.CreateMessage(); @@ -697,6 +829,14 @@ public Response ListForResourceGroupNextPage(str } } + internal RequestUriBuilder CreateListForResourceNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string resourceProviderNamespace, string parentResourcePath, string resourceType, string resourceName, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal Azure.Core.HttpMessage CreateListForResourceNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string resourceProviderNamespace, string parentResourcePath, string resourceType, string resourceName, string filter, int? top) { var message = _pipeline.CreateMessage(); @@ -789,6 +929,14 @@ public Response ListForResourceNextPage(string n } } + internal RequestUriBuilder CreateListForManagementGroupNextPageRequestUri(string nextLink, string managementGroupId, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal Azure.Core.HttpMessage CreateListForManagementGroupNextPageRequest(string nextLink, string managementGroupId, string filter, int? top) { var message = _pipeline.CreateMessage(); @@ -861,6 +1009,14 @@ public Response ListForManagementGroupNextPage(s } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string filter, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal Azure.Core.HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string filter, int? top) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/GuestConfigurationAssignmentsRestOperations.cs b/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/GuestConfigurationAssignmentsRestOperations.cs index 444dac49ea1..440eb4a9ca6 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/GuestConfigurationAssignmentsRestOperations.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/GuestConfigurationAssignmentsRestOperations.cs @@ -37,6 +37,22 @@ public GuestConfigurationAssignmentsRestOperations(HttpPipeline pipeline, string _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string vmName, string guestConfigurationAssignmentName, GuestConfigurationAssignmentData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/", false); + uri.AppendPath(guestConfigurationAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string vmName, string guestConfigurationAssignmentName, GuestConfigurationAssignmentData data) { var message = _pipeline.CreateMessage(); @@ -131,6 +147,22 @@ public Response CreateOrUpdate(string subscrip } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string vmName, string guestConfigurationAssignmentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/", false); + uri.AppendPath(guestConfigurationAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string vmName, string guestConfigurationAssignmentName) { var message = _pipeline.CreateMessage(); @@ -219,6 +251,22 @@ public Response Get(string subscriptionId, str } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string vmName, string guestConfigurationAssignmentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/", false); + uri.AppendPath(guestConfigurationAssignmentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string vmName, string guestConfigurationAssignmentName) { var message = _pipeline.CreateMessage(); @@ -292,6 +340,21 @@ public Response Delete(string subscriptionId, string resourceGroupName, string v } } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string vmName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/virtualMachines/", false); + uri.AppendPath(vmName, true); + uri.AppendPath("/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string vmName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/MarketplacesRestOperations.cs b/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/MarketplacesRestOperations.cs index be24fc9308f..24e001139db 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/MarketplacesRestOperations.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/MarketplacesRestOperations.cs @@ -37,6 +37,29 @@ public MarketplacesRestOperations(HttpPipeline pipeline, string applicationId, U _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string scope, string filter, int? top, string skiptoken) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Consumption/marketplaces", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (skiptoken != null) + { + uri.AppendQuery("$skiptoken", skiptoken, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateListRequest(string scope, string filter, int? top, string skiptoken) { var message = _pipeline.CreateMessage(); @@ -120,6 +143,14 @@ public Response List(string scope, string filter = null, } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string scope, string filter, int? top, string skiptoken) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal Azure.Core.HttpMessage CreateListNextPageRequest(string nextLink, string scope, string filter, int? top, string skiptoken) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/ResourceLinksRestOperations.cs b/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/ResourceLinksRestOperations.cs index 405ca94050f..55f8a51b043 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/ResourceLinksRestOperations.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/ResourceLinksRestOperations.cs @@ -37,6 +37,16 @@ public ResourceLinksRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateDeleteRequestUri(string linkId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(linkId, false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateDeleteRequest(string linkId) { var message = _pipeline.CreateMessage(); @@ -92,6 +102,16 @@ public Response Delete(string linkId, CancellationToken cancellationToken = defa } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string linkId, ResourceLinkData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(linkId, false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateCreateOrUpdateRequest(string linkId, ResourceLinkData data) { var message = _pipeline.CreateMessage(); @@ -166,6 +186,16 @@ public Response CreateOrUpdate(string linkId, ResourceLinkData } } + internal RequestUriBuilder CreateGetRequestUri(string linkId) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(linkId, false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateGetRequest(string linkId) { var message = _pipeline.CreateMessage(); @@ -234,6 +264,21 @@ public Response Get(string linkId, CancellationToken cancellat } } + internal RequestUriBuilder CreateListAtSubscriptionRequestUri(string subscriptionId, string filter) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/providers/Microsoft.Resources/links", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateListAtSubscriptionRequest(string subscriptionId, string filter) { var message = _pipeline.CreateMessage(); @@ -307,6 +352,21 @@ public Response ListAtSubscription(string subscriptionId, st } } + internal RequestUriBuilder CreateListAtSourceScopeRequestUri(string scope, Filter? filter) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(scope, false); + uri.AppendPath("/providers/Microsoft.Resources/links", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter.Value.ToString(), true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal Azure.Core.HttpMessage CreateListAtSourceScopeRequest(string scope, Filter? filter) { var message = _pipeline.CreateMessage(); @@ -378,6 +438,14 @@ public Response ListAtSourceScope(string scope, Filter? filt } } + internal RequestUriBuilder CreateListAtSubscriptionNextPageRequestUri(string nextLink, string subscriptionId, string filter) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal Azure.Core.HttpMessage CreateListAtSubscriptionNextPageRequest(string nextLink, string subscriptionId, string filter) { var message = _pipeline.CreateMessage(); @@ -448,6 +516,14 @@ public Response ListAtSubscriptionNextPage(string nextLink, } } + internal RequestUriBuilder CreateListAtSourceScopeNextPageRequestUri(string nextLink, string scope, Filter? filter) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal Azure.Core.HttpMessage CreateListAtSourceScopeNextPageRequest(string nextLink, string scope, Filter? filter) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/VMInsightsRestOperations.cs b/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/VMInsightsRestOperations.cs index 69b4452825d..00be70d0c27 100644 --- a/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/VMInsightsRestOperations.cs +++ b/test/TestProjects/MgmtScopeResource/src/Generated/RestOperations/VMInsightsRestOperations.cs @@ -36,6 +36,17 @@ public VMInsightsRestOperations(HttpPipeline pipeline, string applicationId, Uri _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetOnboardingStatusRequestUri(string resourceUri) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/", false); + uri.AppendPath(resourceUri, false); + uri.AppendPath("/providers/Microsoft.Insights/vmInsightsOnboardingStatuses/default", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetOnboardingStatusRequest(string resourceUri) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSingletonResource/src/Generated/CarCollection.cs b/test/TestProjects/MgmtSingletonResource/src/Generated/CarCollection.cs index c126e20f352..f7c4c624546 100644 --- a/test/TestProjects/MgmtSingletonResource/src/Generated/CarCollection.cs +++ b/test/TestProjects/MgmtSingletonResource/src/Generated/CarCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAsync(WaitUnt try { var response = await _carRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, carName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new CarResource(Client, response), response.GetRawResponse())); + var uri = _carRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, carName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new CarResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, str try { var response = _carRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, carName, data, cancellationToken); - var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new CarResource(Client, response), response.GetRawResponse())); + var uri = _carRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, carName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new CarResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSingletonResource/src/Generated/CarResource.cs b/test/TestProjects/MgmtSingletonResource/src/Generated/CarResource.cs index a0e91f889f3..f6f7b9d6c57 100644 --- a/test/TestProjects/MgmtSingletonResource/src/Generated/CarResource.cs +++ b/test/TestProjects/MgmtSingletonResource/src/Generated/CarResource.cs @@ -215,7 +215,9 @@ public virtual async Task> UpdateAsync(WaitUntil waitU try { var response = await _carRestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new CarResource(Client, response), response.GetRawResponse())); + var uri = _carRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new CarResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -260,7 +262,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, CarData dat try { var response = _carRestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new CarResource(Client, response), response.GetRawResponse())); + var uri = _carRestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new CarResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSingletonResource/src/Generated/LongRunningOperation/MgmtSingletonResourceArmOperationOfT.cs b/test/TestProjects/MgmtSingletonResource/src/Generated/LongRunningOperation/MgmtSingletonResourceArmOperationOfT.cs index 94a17e491cc..963415cdb1e 100644 --- a/test/TestProjects/MgmtSingletonResource/src/Generated/LongRunningOperation/MgmtSingletonResourceArmOperationOfT.cs +++ b/test/TestProjects/MgmtSingletonResource/src/Generated/LongRunningOperation/MgmtSingletonResourceArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtSingletonResourceArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtSingletonResourceArmOperation for mocking. protected MgmtSingletonResourceArmOperation() { } - internal MgmtSingletonResourceArmOperation(Response response) + internal MgmtSingletonResourceArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtSingletonResourceArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtSingletonResourceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtSingletonResourceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtSingletonResource/src/Generated/ParentResource.cs b/test/TestProjects/MgmtSingletonResource/src/Generated/ParentResource.cs index 455a60b89fe..52e93e3b24d 100644 --- a/test/TestProjects/MgmtSingletonResource/src/Generated/ParentResource.cs +++ b/test/TestProjects/MgmtSingletonResource/src/Generated/ParentResource.cs @@ -211,7 +211,9 @@ public virtual async Task> UpdateAsync(WaitUntil wa try { var response = await _parentResourceRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new ParentResource(Client, response), response.GetRawResponse())); + var uri = _parentResourceRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new ParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -256,7 +258,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, ParentRe try { var response = _parentResourceRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new ParentResource(Client, response), response.GetRawResponse())); + var uri = _parentResourceRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new ParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSingletonResource/src/Generated/ParentResourceCollection.cs b/test/TestProjects/MgmtSingletonResource/src/Generated/ParentResourceCollection.cs index b4db2e94c44..e0967a0d876 100644 --- a/test/TestProjects/MgmtSingletonResource/src/Generated/ParentResourceCollection.cs +++ b/test/TestProjects/MgmtSingletonResource/src/Generated/ParentResourceCollection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAsync(Wait try { var response = await _parentResourceRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, parentName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new ParentResource(Client, response), response.GetRawResponse())); + var uri = _parentResourceRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, parentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new ParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, try { var response = _parentResourceRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, parentName, data, cancellationToken); - var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new ParentResource(Client, response), response.GetRawResponse())); + var uri = _parentResourceRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, parentName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new ParentResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/BrakesRestOperations.cs b/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/BrakesRestOperations.cs index b32bda51a83..c8684711354 100644 --- a/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/BrakesRestOperations.cs +++ b/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/BrakesRestOperations.cs @@ -37,6 +37,22 @@ public BrakesRestOperations(HttpPipeline pipeline, string applicationId, Uri end _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string carName, BrakeName @default) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/cars/", false); + uri.AppendPath(carName, true); + uri.AppendPath("/brakes/", false); + uri.AppendPath(@default.ToString(), true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string carName, BrakeName @default) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/CarsRestOperations.cs b/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/CarsRestOperations.cs index 5a915597890..69267123999 100644 --- a/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/CarsRestOperations.cs +++ b/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/CarsRestOperations.cs @@ -37,6 +37,19 @@ public CarsRestOperations(HttpPipeline pipeline, string applicationId, Uri endpo _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/cars", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string resourceGroupN } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string carName, CarData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/cars/", false); + uri.AppendPath(carName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string carName, CarData data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGroupName, st } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string carName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/cars/", false); + uri.AppendPath(carName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string carName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/IgnitionsRestOperations.cs b/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/IgnitionsRestOperations.cs index 73d6af5f6a9..e8b7fed9d48 100644 --- a/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/IgnitionsRestOperations.cs +++ b/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/IgnitionsRestOperations.cs @@ -36,6 +36,21 @@ public IgnitionsRestOperations(HttpPipeline pipeline, string applicationId, Uri _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string carName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/cars/", false); + uri.AppendPath(carName, true); + uri.AppendPath("/ignitions/default", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string carName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/ParentResourcesRestOperations.cs b/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/ParentResourcesRestOperations.cs index 4116c875f49..6795011ab88 100644 --- a/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/ParentResourcesRestOperations.cs +++ b/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/ParentResourcesRestOperations.cs @@ -37,6 +37,19 @@ public ParentResourcesRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Billing/parentResources", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -110,6 +123,20 @@ public Response List(string subscriptionId, string res } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string parentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Billing/parentResources/", false); + uri.AppendPath(parentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string parentName) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Get(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string parentName, ParentResourceData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Billing/parentResources/", false); + uri.AppendPath(parentName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string parentName, ParentResourceData data) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/SingletonResourcesRestOperations.cs b/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/SingletonResourcesRestOperations.cs index 89c640b4bb2..ad7ed99e79f 100644 --- a/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/SingletonResourcesRestOperations.cs +++ b/test/TestProjects/MgmtSingletonResource/src/Generated/RestOperations/SingletonResourcesRestOperations.cs @@ -36,6 +36,22 @@ public SingletonResourcesRestOperations(HttpPipeline pipeline, string applicatio _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string parentName, SingletonResourceData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Billing/parentResources/", false); + uri.AppendPath(parentName, true); + uri.AppendPath("/singletonResources/", false); + uri.AppendPath("current", true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string parentName, SingletonResourceData data) { var message = _pipeline.CreateMessage(); @@ -124,6 +140,22 @@ public Response CreateOrUpdate(string subscriptionId, str } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string parentName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Billing/parentResources/", false); + uri.AppendPath(parentName, true); + uri.AppendPath("/singletonResources/", false); + uri.AppendPath("current", true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string parentName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSingletonResource/src/Generated/SingletonResource.cs b/test/TestProjects/MgmtSingletonResource/src/Generated/SingletonResource.cs index fb1db797dc2..ccc697dc64e 100644 --- a/test/TestProjects/MgmtSingletonResource/src/Generated/SingletonResource.cs +++ b/test/TestProjects/MgmtSingletonResource/src/Generated/SingletonResource.cs @@ -203,7 +203,9 @@ public virtual async Task> CreateOrUpdateAsync(W try { var response = await _singletonResourceRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new SingletonResource(Client, response), response.GetRawResponse())); + var uri = _singletonResourceRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new SingletonResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -249,7 +251,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUnti try { var response = _singletonResourceRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, data, cancellationToken); - var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new SingletonResource(Client, response), response.GetRawResponse())); + var uri = _singletonResourceRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSingletonResourceArmOperation(Response.FromValue(new SingletonResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/LongRunningOperation/MgmtSubscriptionNameParameterArmOperation.cs b/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/LongRunningOperation/MgmtSubscriptionNameParameterArmOperation.cs index cf9a0b8adab..3b6a66b8559 100644 --- a/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/LongRunningOperation/MgmtSubscriptionNameParameterArmOperation.cs +++ b/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/LongRunningOperation/MgmtSubscriptionNameParameterArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtSubscriptionNameParameterArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtSubscriptionNameParameterArmOperation for mocking. protected MgmtSubscriptionNameParameterArmOperation() { } - internal MgmtSubscriptionNameParameterArmOperation(Response response) + internal MgmtSubscriptionNameParameterArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtSubscriptionNameParameterArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtSubscriptionNameParameterArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/LongRunningOperation/MgmtSubscriptionNameParameterArmOperationOfT.cs b/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/LongRunningOperation/MgmtSubscriptionNameParameterArmOperationOfT.cs index 2fcd4ccf114..66db05da6e0 100644 --- a/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/LongRunningOperation/MgmtSubscriptionNameParameterArmOperationOfT.cs +++ b/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/LongRunningOperation/MgmtSubscriptionNameParameterArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtSubscriptionNameParameterArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtSubscriptionNameParameterArmOperation for mocking. protected MgmtSubscriptionNameParameterArmOperation() { } - internal MgmtSubscriptionNameParameterArmOperation(Response response) + internal MgmtSubscriptionNameParameterArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtSubscriptionNameParameterArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtSubscriptionNameParameterArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtSubscriptionNameParameterArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/RestOperations/SubscriptionsRestOperations.cs b/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/RestOperations/SubscriptionsRestOperations.cs index bdb22be3b60..3962a8877ca 100644 --- a/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/RestOperations/SubscriptionsRestOperations.cs +++ b/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/RestOperations/SubscriptionsRestOperations.cs @@ -37,6 +37,27 @@ public SubscriptionsRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListByTopicRequestUri(string subscriptionId, string resourceGroupName, int? skip, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.ServiceBus/subscriptions", false); + uri.AppendQuery("api-version", _apiVersion, true); + if (skip != null) + { + uri.AppendQuery("$skip", skip.Value, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + return uri; + } + internal HttpMessage CreateListByTopicRequest(string subscriptionId, string resourceGroupName, int? skip, int? top) { var message = _pipeline.CreateMessage(); @@ -122,6 +143,20 @@ public Response ListByTopic(string subscriptionId, str } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string subscriptionName, SBSubscriptionData data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.ServiceBus/subscriptions/", false); + uri.AppendPath(subscriptionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string subscriptionName, SBSubscriptionData data) { var message = _pipeline.CreateMessage(); @@ -208,6 +243,20 @@ public Response CreateOrUpdate(string subscriptionId, string } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string subscriptionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.ServiceBus/subscriptions/", false); + uri.AppendPath(subscriptionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string subscriptionName) { var message = _pipeline.CreateMessage(); @@ -278,6 +327,20 @@ public Response Delete(string subscriptionId, string resourceGroupName, string s } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string subscriptionName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.ServiceBus/subscriptions/", false); + uri.AppendPath(subscriptionName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string subscriptionName) { var message = _pipeline.CreateMessage(); @@ -360,6 +423,14 @@ public Response Get(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateListByTopicNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, int? skip, int? top) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListByTopicNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, int? skip, int? top) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/SBSubscriptionCollection.cs b/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/SBSubscriptionCollection.cs index bab82c5719f..319ea5b5b49 100644 --- a/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/SBSubscriptionCollection.cs +++ b/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/SBSubscriptionCollection.cs @@ -91,7 +91,9 @@ public virtual async Task> CreateOrUpdateAs try { var response = await _sbSubscriptionSubscriptionsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, subscriptionName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSubscriptionNameParameterArmOperation(Response.FromValue(new SBSubscriptionResource(Client, response), response.GetRawResponse())); + var uri = _sbSubscriptionSubscriptionsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, subscriptionName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSubscriptionNameParameterArmOperation(Response.FromValue(new SBSubscriptionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -140,7 +142,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wai try { var response = _sbSubscriptionSubscriptionsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, subscriptionName, data, cancellationToken); - var operation = new MgmtSubscriptionNameParameterArmOperation(Response.FromValue(new SBSubscriptionResource(Client, response), response.GetRawResponse())); + var uri = _sbSubscriptionSubscriptionsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, subscriptionName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSubscriptionNameParameterArmOperation(Response.FromValue(new SBSubscriptionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/SBSubscriptionResource.cs b/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/SBSubscriptionResource.cs index 3c34af11192..f34304c642a 100644 --- a/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/SBSubscriptionResource.cs +++ b/test/TestProjects/MgmtSubscriptionNameParameter/src/Generated/SBSubscriptionResource.cs @@ -200,7 +200,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, Cancell try { var response = await _sbSubscriptionSubscriptionsRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSubscriptionNameParameterArmOperation(response); + var uri = _sbSubscriptionSubscriptionsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSubscriptionNameParameterArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -242,7 +244,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancel try { var response = _sbSubscriptionSubscriptionsRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, cancellationToken); - var operation = new MgmtSubscriptionNameParameterArmOperation(response); + var uri = _sbSubscriptionSubscriptionsRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSubscriptionNameParameterArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; @@ -288,7 +292,9 @@ public virtual async Task> UpdateAsync(Wait try { var response = await _sbSubscriptionSubscriptionsRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSubscriptionNameParameterArmOperation(Response.FromValue(new SBSubscriptionResource(Client, response), response.GetRawResponse())); + var uri = _sbSubscriptionSubscriptionsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSubscriptionNameParameterArmOperation(Response.FromValue(new SBSubscriptionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -334,7 +340,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, try { var response = _sbSubscriptionSubscriptionsRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtSubscriptionNameParameterArmOperation(Response.FromValue(new SBSubscriptionResource(Client, response), response.GetRawResponse())); + var uri = _sbSubscriptionSubscriptionsRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSubscriptionNameParameterArmOperation(Response.FromValue(new SBSubscriptionResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/LongRunningOperation/MgmtSupersetFlattenInheritanceArmOperationOfT.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/LongRunningOperation/MgmtSupersetFlattenInheritanceArmOperationOfT.cs index d998136a545..3c17e37c8da 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/LongRunningOperation/MgmtSupersetFlattenInheritanceArmOperationOfT.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/LongRunningOperation/MgmtSupersetFlattenInheritanceArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtSupersetFlattenInheritanceArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtSupersetFlattenInheritanceArmOperation for mocking. protected MgmtSupersetFlattenInheritanceArmOperation() { } - internal MgmtSupersetFlattenInheritanceArmOperation(Response response) + internal MgmtSupersetFlattenInheritanceArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtSupersetFlattenInheritanceArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtSupersetFlattenInheritanceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtSupersetFlattenInheritanceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/ResourceModel1Collection.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/ResourceModel1Collection.cs index 3404d3642d6..2aded91fae1 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/ResourceModel1Collection.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/ResourceModel1Collection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAs try { var response = await _resourceModel1RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, resourceModel1SName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new ResourceModel1Resource(Client, response), response.GetRawResponse())); + var uri = _resourceModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, resourceModel1SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new ResourceModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wai try { var response = _resourceModel1RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, resourceModel1SName, data, cancellationToken); - var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new ResourceModel1Resource(Client, response), response.GetRawResponse())); + var uri = _resourceModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, resourceModel1SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new ResourceModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/ResourceModel1Resource.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/ResourceModel1Resource.cs index 5fb481c0073..9236c0eb3ea 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/ResourceModel1Resource.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/ResourceModel1Resource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync(Wait try { var response = await _resourceModel1RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new ResourceModel1Resource(Client, response), response.GetRawResponse())); + var uri = _resourceModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new ResourceModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, try { var response = _resourceModel1RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new ResourceModel1Resource(Client, response), response.GetRawResponse())); + var uri = _resourceModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new ResourceModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/CustomModel1SRestOperations.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/CustomModel1SRestOperations.cs index 106f8c2ac57..cf0016ee303 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/CustomModel1SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/CustomModel1SRestOperations.cs @@ -37,6 +37,19 @@ public CustomModel1SRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/customModel1s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string resou } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string customModel1SName, CustomModel1 customModel1) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/customModel1s/", false); + uri.AppendPath(customModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string customModel1SName, CustomModel1 customModel1) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGroupNam } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string customModel1SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/customModel1s/", false); + uri.AppendPath(customModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string customModel1SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/CustomModel2SRestOperations.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/CustomModel2SRestOperations.cs index 70398d1e8e2..fed3122dcc9 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/CustomModel2SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/CustomModel2SRestOperations.cs @@ -37,6 +37,19 @@ public CustomModel2SRestOperations(HttpPipeline pipeline, string applicationId, _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/customModel2s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string resou } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string customModel2SName, CustomModel2 customModel2) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/customModel2s/", false); + uri.AppendPath(customModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string customModel2SName, CustomModel2 customModel2) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGroupNam } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string customModel2SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/customModel2s/", false); + uri.AppendPath(customModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string customModel2SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/NonResourceModel1SRestOperations.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/NonResourceModel1SRestOperations.cs index ce1c4304d8e..4cc37c51da9 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/NonResourceModel1SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/NonResourceModel1SRestOperations.cs @@ -37,6 +37,20 @@ public NonResourceModel1SRestOperations(HttpPipeline pipeline, string applicatio _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string nonResourceModel1SName, NonResourceModel1 nonResourceModel1) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/nonResourceModel1s/", false); + uri.AppendPath(nonResourceModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string nonResourceModel1SName, NonResourceModel1 nonResourceModel1) { var message = _pipeline.CreateMessage(); @@ -121,6 +135,20 @@ public Response Put(string subscriptionId, string resourceGro } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string nonResourceModel1SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/nonResourceModel1s/", false); + uri.AppendPath(nonResourceModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string nonResourceModel1SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/ResourceModel1SRestOperations.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/ResourceModel1SRestOperations.cs index 0c21055c896..843ed5cbd97 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/ResourceModel1SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/ResourceModel1SRestOperations.cs @@ -37,6 +37,19 @@ public ResourceModel1SRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/resourceModel1s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string res } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string resourceModel1SName, ResourceModel1Data data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/resourceModel1s/", false); + uri.AppendPath(resourceModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string resourceModel1SName, ResourceModel1Data data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string resourceModel1SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/resourceModel1s/", false); + uri.AppendPath(resourceModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string resourceModel1SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/ResourceModel2SRestOperations.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/ResourceModel2SRestOperations.cs index 821e6c1cbcc..3584b3765f6 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/ResourceModel2SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/ResourceModel2SRestOperations.cs @@ -37,6 +37,19 @@ public ResourceModel2SRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/resourceModel2s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string res } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string resourceModel2SName, ResourceModel2 resourceModel2) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/resourceModel2s/", false); + uri.AppendPath(resourceModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string resourceModel2SName, ResourceModel2 resourceModel2) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGroupN } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string resourceModel2SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/resourceModel2s/", false); + uri.AppendPath(resourceModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string resourceModel2SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/SubResourceModel1SRestOperations.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/SubResourceModel1SRestOperations.cs index 164d2dd99f4..1cd9acd3cdc 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/SubResourceModel1SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/SubResourceModel1SRestOperations.cs @@ -37,6 +37,19 @@ public SubResourceModel1SRestOperations(HttpPipeline pipeline, string applicatio _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/subResourceModel1s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string subResourceModel1SName, SubResourceModel1 subResourceModel1) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/subResourceModel1s/", false); + uri.AppendPath(subResourceModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string subResourceModel1SName, SubResourceModel1 subResourceModel1) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGro } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string subResourceModel1SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/subResourceModel1s/", false); + uri.AppendPath(subResourceModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string subResourceModel1SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/SubResourceModel2SRestOperations.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/SubResourceModel2SRestOperations.cs index c6c81b87821..bde74f0c76f 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/SubResourceModel2SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/SubResourceModel2SRestOperations.cs @@ -37,6 +37,19 @@ public SubResourceModel2SRestOperations(HttpPipeline pipeline, string applicatio _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/subResourceModel2s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string subResourceModel2SName, SubResourceModel2 subResourceModel2) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/subResourceModel2s/", false); + uri.AppendPath(subResourceModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string subResourceModel2SName, SubResourceModel2 subResourceModel2) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGro } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string subResourceModel2SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/subResourceModel2s/", false); + uri.AppendPath(subResourceModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string subResourceModel2SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/TrackedResourceModel1SRestOperations.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/TrackedResourceModel1SRestOperations.cs index 2c6339c6452..9cec75651f3 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/TrackedResourceModel1SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/TrackedResourceModel1SRestOperations.cs @@ -37,6 +37,19 @@ public TrackedResourceModel1SRestOperations(HttpPipeline pipeline, string applic _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/trackedResourceModel1s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, str } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string trackedResourceModel1SName, TrackedResourceModel1Data data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/trackedResourceModel1s/", false); + uri.AppendPath(trackedResourceModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string trackedResourceModel1SName, TrackedResourceModel1Data data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string res } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string trackedResourceModel1SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/trackedResourceModel1s/", false); + uri.AppendPath(trackedResourceModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string trackedResourceModel1SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/TrackedResourceModel2SRestOperations.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/TrackedResourceModel2SRestOperations.cs index ba235949ddf..00f6b0cac3e 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/TrackedResourceModel2SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/TrackedResourceModel2SRestOperations.cs @@ -37,6 +37,19 @@ public TrackedResourceModel2SRestOperations(HttpPipeline pipeline, string applic _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/trackedResourceModel2s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, str } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string trackedResourceModel2SName, TrackedResourceModel2 trackedResourceModel2) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/trackedResourceModel2s/", false); + uri.AppendPath(trackedResourceModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string trackedResourceModel2SName, TrackedResourceModel2 trackedResourceModel2) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourc } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string trackedResourceModel2SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/trackedResourceModel2s/", false); + uri.AppendPath(trackedResourceModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string trackedResourceModel2SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/WritableSubResourceModel1SRestOperations.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/WritableSubResourceModel1SRestOperations.cs index f5520e53aea..b3bc3a53f9d 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/WritableSubResourceModel1SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/WritableSubResourceModel1SRestOperations.cs @@ -37,6 +37,19 @@ public WritableSubResourceModel1SRestOperations(HttpPipeline pipeline, string ap _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/writableSubResourceModel1s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string writableSubResourceModel1SName, WritableSubResourceModel1 writableSubResourceModel1) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/writableSubResourceModel1s/", false); + uri.AppendPath(writableSubResourceModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string writableSubResourceModel1SName, WritableSubResourceModel1 writableSubResourceModel1) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string res } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string writableSubResourceModel1SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/writableSubResourceModel1s/", false); + uri.AppendPath(writableSubResourceModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string writableSubResourceModel1SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/WritableSubResourceModel2SRestOperations.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/WritableSubResourceModel2SRestOperations.cs index 89b9e2ded6d..a4d827a37a3 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/WritableSubResourceModel2SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/RestOperations/WritableSubResourceModel2SRestOperations.cs @@ -37,6 +37,19 @@ public WritableSubResourceModel2SRestOperations(HttpPipeline pipeline, string ap _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/writableSubResourceModel2s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string writableSubResourceModel2SName, WritableSubResourceModel2 writableSubResourceModel2) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/writableSubResourceModel2s/", false); + uri.AppendPath(writableSubResourceModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string writableSubResourceModel2SName, WritableSubResourceModel2 writableSubResourceModel2) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string res } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string writableSubResourceModel2SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/writableSubResourceModel2s/", false); + uri.AppendPath(writableSubResourceModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string writableSubResourceModel2SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/TrackedResourceModel1Collection.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/TrackedResourceModel1Collection.cs index a0a3e77164f..5c8606d8474 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/TrackedResourceModel1Collection.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/TrackedResourceModel1Collection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrU try { var response = await _trackedResourceModel1RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, trackedResourceModel1SName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new TrackedResourceModel1Resource(Client, response), response.GetRawResponse())); + var uri = _trackedResourceModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, trackedResourceModel1SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new TrackedResourceModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUn try { var response = _trackedResourceModel1RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, trackedResourceModel1SName, data, cancellationToken); - var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new TrackedResourceModel1Resource(Client, response), response.GetRawResponse())); + var uri = _trackedResourceModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, trackedResourceModel1SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new TrackedResourceModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/TrackedResourceModel1Resource.cs b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/TrackedResourceModel1Resource.cs index 03c0f8e1bf5..51e64a2b90d 100644 --- a/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/TrackedResourceModel1Resource.cs +++ b/test/TestProjects/MgmtSupersetFlattenInheritance/src/Generated/TrackedResourceModel1Resource.cs @@ -202,7 +202,9 @@ public virtual async Task> UpdateAsy try { var response = await _trackedResourceModel1RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new TrackedResourceModel1Resource(Client, response), response.GetRawResponse())); + var uri = _trackedResourceModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new TrackedResourceModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -247,7 +249,9 @@ public virtual ArmOperation Update(WaitUntil wait try { var response = _trackedResourceModel1RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new TrackedResourceModel1Resource(Client, response), response.GetRawResponse())); + var uri = _trackedResourceModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetFlattenInheritanceArmOperation(Response.FromValue(new TrackedResourceModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/LongRunningOperation/MgmtSupersetInheritanceArmOperationOfT.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/LongRunningOperation/MgmtSupersetInheritanceArmOperationOfT.cs index 2c4dd84cbd1..9b7913565c3 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/LongRunningOperation/MgmtSupersetInheritanceArmOperationOfT.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/LongRunningOperation/MgmtSupersetInheritanceArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtSupersetInheritanceArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtSupersetInheritanceArmOperation for mocking. protected MgmtSupersetInheritanceArmOperation() { } - internal MgmtSupersetInheritanceArmOperation(Response response) + internal MgmtSupersetInheritanceArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtSupersetInheritanceArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtSupersetInheritanceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtSupersetInheritanceArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel1SRestOperations.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel1SRestOperations.cs index f3e46913359..179b23b1658 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel1SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel1SRestOperations.cs @@ -37,6 +37,19 @@ public SupersetModel1SRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel1s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string res } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string supersetModel1SName, SupersetModel1Data data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel1s/", false); + uri.AppendPath(supersetModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string supersetModel1SName, SupersetModel1Data data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string supersetModel1SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel1s/", false); + uri.AppendPath(supersetModel1SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string supersetModel1SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel2SRestOperations.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel2SRestOperations.cs index b9ee66f7446..e5cd72c3893 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel2SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel2SRestOperations.cs @@ -37,6 +37,20 @@ public SupersetModel2SRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string supersetModel2SName, SupersetModel2 supersetModel2) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel2s/", false); + uri.AppendPath(supersetModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string supersetModel2SName, SupersetModel2 supersetModel2) { var message = _pipeline.CreateMessage(); @@ -121,6 +135,20 @@ public Response Put(string subscriptionId, string resourceGroupN } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string supersetModel2SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel2s/", false); + uri.AppendPath(supersetModel2SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string supersetModel2SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel3SRestOperations.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel3SRestOperations.cs index 7d606f20ea2..381d6656732 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel3SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel3SRestOperations.cs @@ -37,6 +37,20 @@ public SupersetModel3SRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string supersetModel3SName, SupersetModel3 supersetModel3) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel3s/", false); + uri.AppendPath(supersetModel3SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string supersetModel3SName, SupersetModel3 supersetModel3) { var message = _pipeline.CreateMessage(); @@ -121,6 +135,20 @@ public Response Put(string subscriptionId, string resourceGroupN } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string supersetModel3SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel3s/", false); + uri.AppendPath(supersetModel3SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string supersetModel3SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel4SRestOperations.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel4SRestOperations.cs index ca490f667a6..77853f74008 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel4SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel4SRestOperations.cs @@ -37,6 +37,19 @@ public SupersetModel4SRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel4s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string res } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string supersetModel4SName, SupersetModel4Data data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel4s/", false); + uri.AppendPath(supersetModel4SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string supersetModel4SName, SupersetModel4Data data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string supersetModel4SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel4s/", false); + uri.AppendPath(supersetModel4SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string supersetModel4SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel6SRestOperations.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel6SRestOperations.cs index 35e7dbe8a79..5006d244d7d 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel6SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel6SRestOperations.cs @@ -37,6 +37,19 @@ public SupersetModel6SRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel6s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string res } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string supersetModel6SName, SupersetModel6Data data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel6s/", false); + uri.AppendPath(supersetModel6SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string supersetModel6SName, SupersetModel6Data data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string supersetModel6SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel6s/", false); + uri.AppendPath(supersetModel6SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string supersetModel6SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel7SRestOperations.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel7SRestOperations.cs index 9eb0857d950..34d3c279605 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel7SRestOperations.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/RestOperations/SupersetModel7SRestOperations.cs @@ -37,6 +37,19 @@ public SupersetModel7SRestOperations(HttpPipeline pipeline, string applicationId _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel7s", false); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName) { var message = _pipeline.CreateMessage(); @@ -108,6 +121,20 @@ public Response List(string subscriptionId, string res } } + internal RequestUriBuilder CreatePutRequestUri(string subscriptionId, string resourceGroupName, string supersetModel7SName, SupersetModel7Data data) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel7s/", false); + uri.AppendPath(supersetModel7SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreatePutRequest(string subscriptionId, string resourceGroupName, string supersetModel7SName, SupersetModel7Data data) { var message = _pipeline.CreateMessage(); @@ -192,6 +219,20 @@ public Response Put(string subscriptionId, string resourceGr } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string supersetModel7SName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.Compute/supersetModel7s/", false); + uri.AppendPath(supersetModel7SName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string supersetModel7SName) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel1Collection.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel1Collection.cs index ffa59d1f67b..c8b4da1a422 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel1Collection.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel1Collection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAs try { var response = await _supersetModel1RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, supersetModel1SName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel1Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, supersetModel1SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wai try { var response = _supersetModel1RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, supersetModel1SName, data, cancellationToken); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel1Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, supersetModel1SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel1Resource.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel1Resource.cs index ce611bfc62e..fb99d697059 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel1Resource.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel1Resource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync(Wait try { var response = await _supersetModel1RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel1Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, try { var response = _supersetModel1RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel1Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel1RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel1Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel4Collection.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel4Collection.cs index 004b481ffb4..be38fda9fc3 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel4Collection.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel4Collection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAs try { var response = await _supersetModel4RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, supersetModel4SName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel4Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel4RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, supersetModel4SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel4Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wai try { var response = _supersetModel4RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, supersetModel4SName, data, cancellationToken); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel4Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel4RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, supersetModel4SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel4Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel4Resource.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel4Resource.cs index db361c2de34..c040b0146df 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel4Resource.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel4Resource.cs @@ -202,7 +202,9 @@ public virtual async Task> UpdateAsync(Wait try { var response = await _supersetModel4RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel4Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel4RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel4Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -247,7 +249,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, try { var response = _supersetModel4RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel4Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel4RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel4Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel6Collection.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel6Collection.cs index d3c43161a19..083a8931f25 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel6Collection.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel6Collection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAs try { var response = await _supersetModel6RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, supersetModel6SName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel6Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel6RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, supersetModel6SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel6Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wai try { var response = _supersetModel6RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, supersetModel6SName, data, cancellationToken); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel6Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel6RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, supersetModel6SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel6Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel6Resource.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel6Resource.cs index efcf5a6303f..00b88d1d99a 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel6Resource.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel6Resource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync(Wait try { var response = await _supersetModel6RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel6Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel6RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel6Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, try { var response = _supersetModel6RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel6Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel6RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel6Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel7Collection.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel7Collection.cs index bb436b69eac..763e63e8d32 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel7Collection.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel7Collection.cs @@ -90,7 +90,9 @@ public virtual async Task> CreateOrUpdateAs try { var response = await _supersetModel7RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, supersetModel7SName, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel7Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel7RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, supersetModel7SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel7Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -138,7 +140,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil wai try { var response = _supersetModel7RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, supersetModel7SName, data, cancellationToken); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel7Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel7RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, supersetModel7SName, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel7Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel7Resource.cs b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel7Resource.cs index c24c164f87b..4f617cf9e58 100644 --- a/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel7Resource.cs +++ b/test/TestProjects/MgmtSupersetInheritance/src/Generated/SupersetModel7Resource.cs @@ -201,7 +201,9 @@ public virtual async Task> UpdateAsync(Wait try { var response = await _supersetModel7RestClient.PutAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken).ConfigureAwait(false); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel7Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel7RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel7Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -246,7 +248,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, try { var response = _supersetModel7RestClient.Put(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, cancellationToken); - var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel7Resource(Client, response), response.GetRawResponse())); + var uri = _supersetModel7RestClient.CreatePutRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtSupersetInheritanceArmOperation(Response.FromValue(new SupersetModel7Resource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtXmlDeserialization/src/Generated/LongRunningOperation/MgmtXmlDeserializationArmOperation.cs b/test/TestProjects/MgmtXmlDeserialization/src/Generated/LongRunningOperation/MgmtXmlDeserializationArmOperation.cs index 2aed2a024ca..12cbff344d2 100644 --- a/test/TestProjects/MgmtXmlDeserialization/src/Generated/LongRunningOperation/MgmtXmlDeserializationArmOperation.cs +++ b/test/TestProjects/MgmtXmlDeserialization/src/Generated/LongRunningOperation/MgmtXmlDeserializationArmOperation.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtXmlDeserializationArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtXmlDeserializationArmOperation for mocking. protected MgmtXmlDeserializationArmOperation() { } - internal MgmtXmlDeserializationArmOperation(Response response) + internal MgmtXmlDeserializationArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtXmlDeserializationArmOperation(ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtXmlDeserializationArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override bool HasCompleted => _operation.HasCompleted; diff --git a/test/TestProjects/MgmtXmlDeserialization/src/Generated/LongRunningOperation/MgmtXmlDeserializationArmOperationOfT.cs b/test/TestProjects/MgmtXmlDeserialization/src/Generated/LongRunningOperation/MgmtXmlDeserializationArmOperationOfT.cs index 6384c7e1f90..80e429b6611 100644 --- a/test/TestProjects/MgmtXmlDeserialization/src/Generated/LongRunningOperation/MgmtXmlDeserializationArmOperationOfT.cs +++ b/test/TestProjects/MgmtXmlDeserialization/src/Generated/LongRunningOperation/MgmtXmlDeserializationArmOperationOfT.cs @@ -6,6 +6,8 @@ #nullable disable using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Azure; @@ -20,28 +22,52 @@ internal class MgmtXmlDeserializationArmOperation : ArmOperation #pragma warning restore SA1649 // File name should match first type name { private readonly OperationInternal _operation; + private readonly RehydrationToken? _completeRehydrationToken; + private readonly NextLinkOperationImplementation _nextLinkOperation; + private readonly string _operationId; /// Initializes a new instance of MgmtXmlDeserializationArmOperation for mocking. protected MgmtXmlDeserializationArmOperation() { } - internal MgmtXmlDeserializationArmOperation(Response response) + internal MgmtXmlDeserializationArmOperation(Response response, RehydrationToken? rehydrationToken = null) { _operation = OperationInternal.Succeeded(response.GetRawResponse(), response.Value); + _completeRehydrationToken = rehydrationToken; + _operationId = GetOperationId(rehydrationToken); } internal MgmtXmlDeserializationArmOperation(IOperationSource source, ClientDiagnostics clientDiagnostics, HttpPipeline pipeline, Request request, Response response, OperationFinalStateVia finalStateVia, bool skipApiVersionOverride = false, string apiVersionOverrideValue = null) { - var nextLinkOperation = NextLinkOperationImplementation.Create(source, pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); - _operation = new OperationInternal(nextLinkOperation, clientDiagnostics, response, "MgmtXmlDeserializationArmOperation", fallbackStrategy: new SequentialDelayStrategy()); + var nextLinkOperation = NextLinkOperationImplementation.Create(pipeline, request.Method, request.Uri.ToUri(), response, finalStateVia, skipApiVersionOverride, apiVersionOverrideValue); + if (nextLinkOperation is NextLinkOperationImplementation nextLinkOperationValue) + { + _nextLinkOperation = nextLinkOperationValue; + _operationId = _nextLinkOperation.OperationId; + } + else + { + _completeRehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(request.Method, request.Uri.ToUri(), response, finalStateVia); + _operationId = GetOperationId(_completeRehydrationToken); + } + _operation = new OperationInternal(NextLinkOperationImplementation.Create(source, nextLinkOperation), clientDiagnostics, response, "MgmtXmlDeserializationArmOperation", fallbackStrategy: new SequentialDelayStrategy()); } + private string GetOperationId(RehydrationToken? rehydrationToken) + { + if (rehydrationToken is null) + { + return null; + } + var lroDetails = ModelReaderWriter.Write(rehydrationToken, ModelReaderWriterOptions.Json).ToObjectFromJson>(); + return lroDetails["id"]; + } + /// + public override string Id => _operationId ?? NextLinkOperationImplementation.NotSet; + /// -#pragma warning disable CA1822 - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public override string Id => throw new NotImplementedException(); -#pragma warning restore CA1822 + public override RehydrationToken? GetRehydrationToken() => _nextLinkOperation?.GetRehydrationToken() ?? _completeRehydrationToken; /// public override T Value => _operation.Value; diff --git a/test/TestProjects/MgmtXmlDeserialization/src/Generated/RestOperations/XmlDeserializationRestOperations.cs b/test/TestProjects/MgmtXmlDeserialization/src/Generated/RestOperations/XmlDeserializationRestOperations.cs index 16d43f506a4..e02b5b1ad36 100644 --- a/test/TestProjects/MgmtXmlDeserialization/src/Generated/RestOperations/XmlDeserializationRestOperations.cs +++ b/test/TestProjects/MgmtXmlDeserialization/src/Generated/RestOperations/XmlDeserializationRestOperations.cs @@ -37,6 +37,31 @@ public XmlDeserializationRestOperations(HttpPipeline pipeline, string applicatio _userAgent = new TelemetryDetails(GetType().Assembly, applicationId); } + internal RequestUriBuilder CreateListRequestUri(string subscriptionId, string resourceGroupName, string filter, int? top, int? skip) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.XmlDeserialization/xmls", false); + if (filter != null) + { + uri.AppendQuery("$filter", filter, true); + } + if (top != null) + { + uri.AppendQuery("$top", top.Value, true); + } + if (skip != null) + { + uri.AppendQuery("$skip", skip.Value, true); + } + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateListRequest(string subscriptionId, string resourceGroupName, string filter, int? top, int? skip) { var message = _pipeline.CreateMessage(); @@ -128,6 +153,20 @@ public Response List(string subscriptionId, string resourceGroupN } } + internal RequestUriBuilder CreateGetEntityTagRequestUri(string subscriptionId, string resourceGroupName, string xmlName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.XmlDeserialization/xmls/", false); + uri.AppendPath(xmlName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetEntityTagRequest(string subscriptionId, string resourceGroupName, string xmlName) { var message = _pipeline.CreateMessage(); @@ -212,6 +251,20 @@ public Response GetEntityTag(string subscriptionId, string resourceGroupNa } } + internal RequestUriBuilder CreateGetRequestUri(string subscriptionId, string resourceGroupName, string xmlName) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.XmlDeserialization/xmls/", false); + uri.AppendPath(xmlName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateGetRequest(string subscriptionId, string resourceGroupName, string xmlName) { var message = _pipeline.CreateMessage(); @@ -294,6 +347,20 @@ public Response Get(string subscriptionId, string resourceGroup } } + internal RequestUriBuilder CreateCreateOrUpdateRequestUri(string subscriptionId, string resourceGroupName, string xmlName, XmlInstanceData data, string ifMatch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.XmlDeserialization/xmls/", false); + uri.AppendPath(xmlName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateCreateOrUpdateRequest(string subscriptionId, string resourceGroupName, string xmlName, XmlInstanceData data, string ifMatch) { var message = _pipeline.CreateMessage(); @@ -388,6 +455,20 @@ public Response CreateOrUpdate(string subscriptionId, string re } } + internal RequestUriBuilder CreateDeleteRequestUri(string subscriptionId, string resourceGroupName, string xmlName, string ifMatch) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendPath("/subscriptions/", false); + uri.AppendPath(subscriptionId, true); + uri.AppendPath("/resourceGroups/", false); + uri.AppendPath(resourceGroupName, true); + uri.AppendPath("/providers/Microsoft.XmlDeserialization/xmls/", false); + uri.AppendPath(xmlName, true); + uri.AppendQuery("api-version", _apiVersion, true); + return uri; + } + internal HttpMessage CreateDeleteRequest(string subscriptionId, string resourceGroupName, string xmlName, string ifMatch) { var message = _pipeline.CreateMessage(); @@ -463,6 +544,14 @@ public Response Delete(string subscriptionId, string resourceGroupName, string x } } + internal RequestUriBuilder CreateListNextPageRequestUri(string nextLink, string subscriptionId, string resourceGroupName, string filter, int? top, int? skip) + { + var uri = new RawRequestUriBuilder(); + uri.Reset(_endpoint); + uri.AppendRawNextLink(nextLink, false); + return uri; + } + internal HttpMessage CreateListNextPageRequest(string nextLink, string subscriptionId, string resourceGroupName, string filter, int? top, int? skip) { var message = _pipeline.CreateMessage(); diff --git a/test/TestProjects/MgmtXmlDeserialization/src/Generated/XmlInstanceCollection.cs b/test/TestProjects/MgmtXmlDeserialization/src/Generated/XmlInstanceCollection.cs index 9afab18dac5..028cff6a7bb 100644 --- a/test/TestProjects/MgmtXmlDeserialization/src/Generated/XmlInstanceCollection.cs +++ b/test/TestProjects/MgmtXmlDeserialization/src/Generated/XmlInstanceCollection.cs @@ -92,7 +92,9 @@ public virtual async Task> CreateOrUpdateAsync try { var response = await _xmlInstanceXmlDeserializationRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, xmlName, data, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtXmlDeserializationArmOperation(Response.FromValue(new XmlInstanceResource(Client, response), response.GetRawResponse())); + var uri = _xmlInstanceXmlDeserializationRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, xmlName, data, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtXmlDeserializationArmOperation(Response.FromValue(new XmlInstanceResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -142,7 +144,9 @@ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUn try { var response = _xmlInstanceXmlDeserializationRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, xmlName, data, ifMatch, cancellationToken); - var operation = new MgmtXmlDeserializationArmOperation(Response.FromValue(new XmlInstanceResource(Client, response), response.GetRawResponse())); + var uri = _xmlInstanceXmlDeserializationRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, xmlName, data, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtXmlDeserializationArmOperation(Response.FromValue(new XmlInstanceResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation; diff --git a/test/TestProjects/MgmtXmlDeserialization/src/Generated/XmlInstanceResource.Serialization.cs b/test/TestProjects/MgmtXmlDeserialization/src/Generated/XmlInstanceResource.Serialization.cs new file mode 100644 index 00000000000..b39eb1732b9 --- /dev/null +++ b/test/TestProjects/MgmtXmlDeserialization/src/Generated/XmlInstanceResource.Serialization.cs @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Text.Json; + +namespace MgmtXmlDeserialization +{ + public partial class XmlInstanceResource : IJsonModel + { + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options); + + XmlInstanceData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => ((IJsonModel)Data).Create(ref reader, options); + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options); + + XmlInstanceData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options); + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => ((IPersistableModel)Data).GetFormatFromOptions(options); + } +} diff --git a/test/TestProjects/MgmtXmlDeserialization/src/Generated/XmlInstanceResource.cs b/test/TestProjects/MgmtXmlDeserialization/src/Generated/XmlInstanceResource.cs index 788d1c7e940..3e6a45d2a97 100644 --- a/test/TestProjects/MgmtXmlDeserialization/src/Generated/XmlInstanceResource.cs +++ b/test/TestProjects/MgmtXmlDeserialization/src/Generated/XmlInstanceResource.cs @@ -204,7 +204,9 @@ public virtual async Task DeleteAsync(WaitUntil waitUntil, string try { var response = await _xmlInstanceXmlDeserializationRestClient.DeleteAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtXmlDeserializationArmOperation(response); + var uri = _xmlInstanceXmlDeserializationRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtXmlDeserializationArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -250,7 +252,9 @@ public virtual ArmOperation Delete(WaitUntil waitUntil, string ifMatch, Cancella try { var response = _xmlInstanceXmlDeserializationRestClient.Delete(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, ifMatch, cancellationToken); - var operation = new MgmtXmlDeserializationArmOperation(response); + var uri = _xmlInstanceXmlDeserializationRestClient.CreateDeleteRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Delete, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtXmlDeserializationArmOperation(response, rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletionResponse(cancellationToken); return operation; @@ -297,7 +301,9 @@ public virtual async Task> UpdateAsync(WaitUnt try { var response = await _xmlInstanceXmlDeserializationRestClient.CreateOrUpdateAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, ifMatch, cancellationToken).ConfigureAwait(false); - var operation = new MgmtXmlDeserializationArmOperation(Response.FromValue(new XmlInstanceResource(Client, response), response.GetRawResponse())); + var uri = _xmlInstanceXmlDeserializationRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtXmlDeserializationArmOperation(Response.FromValue(new XmlInstanceResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return operation; @@ -344,7 +350,9 @@ public virtual ArmOperation Update(WaitUntil waitUntil, Xml try { var response = _xmlInstanceXmlDeserializationRestClient.CreateOrUpdate(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, ifMatch, cancellationToken); - var operation = new MgmtXmlDeserializationArmOperation(Response.FromValue(new XmlInstanceResource(Client, response), response.GetRawResponse())); + var uri = _xmlInstanceXmlDeserializationRestClient.CreateCreateOrUpdateRequestUri(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, data, ifMatch); + var rehydrationToken = NextLinkOperationImplementation.GetRehydrationToken(RequestMethod.Put, uri.ToUri(), uri.ToString(), "None", null, OperationFinalStateVia.OriginalUri.ToString()); + var operation = new MgmtXmlDeserializationArmOperation(Response.FromValue(new XmlInstanceResource(Client, response), response.GetRawResponse()), rehydrationToken); if (waitUntil == WaitUntil.Completed) operation.WaitForCompletion(cancellationToken); return operation;