diff --git a/sdk/applink/Azure.ResourceManager.AppLink/Azure.ResourceManager.AppLink.sln b/sdk/applink/Azure.ResourceManager.AppLink/Azure.ResourceManager.AppLink.sln
new file mode 100644
index 000000000000..638ff52f7ec3
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/Azure.ResourceManager.AppLink.sln
@@ -0,0 +1,48 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31903.59
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Azure.ResourceManager.AppLink", "src\Azure.ResourceManager.AppLink.csproj", "{28FF4005-4467-4E36-92E7-DEA27DEB1519}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {A97F4B90-2591-4689-B1F8-5F21FE6D6CAE}
+ EndGlobalSection
+EndGlobal
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/metadata.json b/sdk/applink/Azure.ResourceManager.AppLink/metadata.json
new file mode 100644
index 000000000000..38a65558b75c
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/metadata.json
@@ -0,0 +1,5 @@
+{
+ "apiVersions": {
+ "Microsoft.AppLink": "2025-08-01-preview"
+ }
+}
\ No newline at end of file
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Azure.ResourceManager.AppLink.csproj b/sdk/applink/Azure.ResourceManager.AppLink/src/Azure.ResourceManager.AppLink.csproj
new file mode 100644
index 000000000000..c89b3b1b204c
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Azure.ResourceManager.AppLink.csproj
@@ -0,0 +1,9 @@
+
+
+ This is the Azure.ResourceManager.AppLink client library for developing .NET applications with rich experience.
+ SDK Code Generation Azure.ResourceManager.AppLink
+ 1.0.0-beta.1
+ Azure.ResourceManager.AppLink
+ true
+
+
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkCollection.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkCollection.cs
new file mode 100644
index 000000000000..c469428cc404
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkCollection.cs
@@ -0,0 +1,580 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Threading;
+using System.Threading.Tasks;
+using Azure;
+using Azure.Core;
+using Azure.Core.Pipeline;
+using Azure.ResourceManager;
+using Azure.ResourceManager.Resources;
+
+namespace Azure.ResourceManager.AppLink
+{
+ ///
+ /// A class representing a collection of and their operations.
+ /// Each in the collection will belong to the same instance of .
+ /// To get a instance call the GetAppLinks method from an instance of .
+ ///
+ public partial class AppLinkCollection : ArmCollection, IEnumerable, IAsyncEnumerable
+ {
+ private readonly ClientDiagnostics _appLinksClientDiagnostics;
+ private readonly AppLinks _appLinksRestClient;
+
+ /// Initializes a new instance of AppLinkCollection for mocking.
+ protected AppLinkCollection()
+ {
+ }
+
+ /// Initializes a new instance of class.
+ /// The client parameters to use in these operations.
+ /// The identifier of the resource that is the target of operations.
+ internal AppLinkCollection(ArmClient client, ResourceIdentifier id) : base(client, id)
+ {
+ TryGetApiVersion(AppLinkResource.ResourceType, out string appLinkApiVersion);
+ _appLinksClientDiagnostics = new ClientDiagnostics("Azure.ResourceManager.AppLink", AppLinkResource.ResourceType.Namespace, Diagnostics);
+ _appLinksRestClient = new AppLinks(_appLinksClientDiagnostics, Pipeline, Endpoint, appLinkApiVersion ?? "2025-08-01-preview");
+ ValidateResourceId(id);
+ }
+
+ ///
+ [Conditional("DEBUG")]
+ internal static void ValidateResourceId(ResourceIdentifier id)
+ {
+ if (id.ResourceType != ResourceGroupResource.ResourceType)
+ {
+ throw new ArgumentException(string.Format("Invalid resource type {0} expected {1}", id.ResourceType, ResourceGroupResource.ResourceType), id);
+ }
+ }
+
+ ///
+ /// Create an AppLink.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_CreateOrUpdate.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.
+ /// The name of the AppLink.
+ /// Resource create parameters.
+ /// The cancellation token to use.
+ /// or is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual async Task> CreateOrUpdateAsync(WaitUntil waitUntil, string appLinkName, AppLinkData data, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkName, nameof(appLinkName));
+ Argument.AssertNotNull(data, nameof(data));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkCollection.CreateOrUpdate");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateCreateOrUpdateRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, appLinkName, AppLinkData.ToRequestContent(data), context);
+ Response response = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ AppLinkArmOperation operation = new AppLinkArmOperation(
+ new AppLinkOperationSource(Client),
+ _appLinksClientDiagnostics,
+ Pipeline,
+ message.Request,
+ response,
+ OperationFinalStateVia.AzureAsyncOperation);
+ if (waitUntil == WaitUntil.Completed)
+ {
+ await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false);
+ }
+ return operation;
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Create an AppLink.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_CreateOrUpdate.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.
+ /// The name of the AppLink.
+ /// Resource create parameters.
+ /// The cancellation token to use.
+ /// or is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, string appLinkName, AppLinkData data, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkName, nameof(appLinkName));
+ Argument.AssertNotNull(data, nameof(data));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkCollection.CreateOrUpdate");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateCreateOrUpdateRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, appLinkName, AppLinkData.ToRequestContent(data), context);
+ Response response = Pipeline.ProcessMessage(message, context);
+ AppLinkArmOperation operation = new AppLinkArmOperation(
+ new AppLinkOperationSource(Client),
+ _appLinksClientDiagnostics,
+ Pipeline,
+ message.Request,
+ response,
+ OperationFinalStateVia.AzureAsyncOperation);
+ if (waitUntil == WaitUntil.Completed)
+ {
+ operation.WaitForCompletion(cancellationToken);
+ }
+ return operation;
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Get an AppLink.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The name of the AppLink.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual async Task> GetAsync(string appLinkName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkName, nameof(appLinkName));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkCollection.Get");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, appLinkName, context);
+ Response result = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ Response response = Response.FromValue(AppLinkData.FromResponse(result), result);
+ if (response.Value == null)
+ {
+ throw new RequestFailedException(response.GetRawResponse());
+ }
+ return Response.FromValue(new AppLinkResource(Client, response.Value), response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Get an AppLink.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The name of the AppLink.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual Response Get(string appLinkName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkName, nameof(appLinkName));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkCollection.Get");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, appLinkName, context);
+ Response result = Pipeline.ProcessMessage(message, context);
+ Response response = Response.FromValue(AppLinkData.FromResponse(result), result);
+ if (response.Value == null)
+ {
+ throw new RequestFailedException(response.GetRawResponse());
+ }
+ return Response.FromValue(new AppLinkResource(Client, response.Value), response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// List AppLink resources by resource group.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_ListByResourceGroup.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The cancellation token to use.
+ /// A collection of that may take multiple service requests to iterate over.
+ public virtual AsyncPageable GetAllAsync(CancellationToken cancellationToken = default)
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ return new AsyncPageableWrapper(new AppLinksGetByResourceGroupAsyncCollectionResultOfT(_appLinksRestClient, Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, context), data => new AppLinkResource(Client, data));
+ }
+
+ ///
+ /// List AppLink resources by resource group.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_ListByResourceGroup.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The cancellation token to use.
+ /// A collection of that may take multiple service requests to iterate over.
+ public virtual Pageable GetAll(CancellationToken cancellationToken = default)
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ return new PageableWrapper(new AppLinksGetByResourceGroupCollectionResultOfT(_appLinksRestClient, Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, context), data => new AppLinkResource(Client, data));
+ }
+
+ ///
+ /// Checks to see if the resource exists in azure.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The name of the AppLink.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual async Task> ExistsAsync(string appLinkName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkName, nameof(appLinkName));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkCollection.Exists");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, appLinkName, context);
+ await Pipeline.SendAsync(message, context.CancellationToken).ConfigureAwait(false);
+ Response result = message.Response;
+ Response response = default;
+ switch (result.Status)
+ {
+ case 200:
+ response = Response.FromValue(AppLinkData.FromResponse(result), result);
+ break;
+ case 404:
+ response = Response.FromValue((AppLinkData)null, result);
+ break;
+ default:
+ throw new RequestFailedException(result);
+ }
+ return Response.FromValue(response.Value != null, response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Checks to see if the resource exists in azure.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The name of the AppLink.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual Response Exists(string appLinkName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkName, nameof(appLinkName));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkCollection.Exists");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, appLinkName, context);
+ Pipeline.Send(message, context.CancellationToken);
+ Response result = message.Response;
+ Response response = default;
+ switch (result.Status)
+ {
+ case 200:
+ response = Response.FromValue(AppLinkData.FromResponse(result), result);
+ break;
+ case 404:
+ response = Response.FromValue((AppLinkData)null, result);
+ break;
+ default:
+ throw new RequestFailedException(result);
+ }
+ return Response.FromValue(response.Value != null, response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Tries to get details for this resource from the service.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The name of the AppLink.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual async Task> GetIfExistsAsync(string appLinkName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkName, nameof(appLinkName));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkCollection.GetIfExists");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, appLinkName, context);
+ await Pipeline.SendAsync(message, context.CancellationToken).ConfigureAwait(false);
+ Response result = message.Response;
+ Response response = default;
+ switch (result.Status)
+ {
+ case 200:
+ response = Response.FromValue(AppLinkData.FromResponse(result), result);
+ break;
+ case 404:
+ response = Response.FromValue((AppLinkData)null, result);
+ break;
+ default:
+ throw new RequestFailedException(result);
+ }
+ if (response.Value == null)
+ {
+ return new NoValueResponse(response.GetRawResponse());
+ }
+ return Response.FromValue(new AppLinkResource(Client, response.Value), response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Tries to get details for this resource from the service.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The name of the AppLink.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual NullableResponse GetIfExists(string appLinkName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkName, nameof(appLinkName));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkCollection.GetIfExists");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, appLinkName, context);
+ Pipeline.Send(message, context.CancellationToken);
+ Response result = message.Response;
+ Response response = default;
+ switch (result.Status)
+ {
+ case 200:
+ response = Response.FromValue(AppLinkData.FromResponse(result), result);
+ break;
+ case 404:
+ response = Response.FromValue((AppLinkData)null, result);
+ break;
+ default:
+ throw new RequestFailedException(result);
+ }
+ if (response.Value == null)
+ {
+ return new NoValueResponse(response.GetRawResponse());
+ }
+ return Response.FromValue(new AppLinkResource(Client, response.Value), response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return GetAll().GetEnumerator();
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return GetAll().GetEnumerator();
+ }
+
+ /// The cancellation token to use.
+ IAsyncEnumerator IAsyncEnumerable.GetAsyncEnumerator(CancellationToken cancellationToken)
+ {
+ return GetAllAsync(cancellationToken: cancellationToken).GetAsyncEnumerator(cancellationToken);
+ }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkData.Serialization.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkData.Serialization.cs
new file mode 100644
index 000000000000..0275eb270f09
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkData.Serialization.cs
@@ -0,0 +1,245 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Collections.Generic;
+using System.Text;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+using Azure.ResourceManager.AppLink.Models;
+using Azure.ResourceManager.Models;
+
+namespace Azure.ResourceManager.AppLink
+{
+ /// AppLink resource.
+ public partial class AppLinkData : TrackedResourceData, IJsonModel
+ {
+ /// Initializes a new instance of for deserialization.
+ internal AppLinkData()
+ {
+ }
+
+ /// The data to parse.
+ /// The client options for reading and writing models.
+ protected virtual ResourceData PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options)
+ {
+ string format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format;
+ switch (format)
+ {
+ case "J":
+ using (JsonDocument document = JsonDocument.Parse(data, ModelSerializationExtensions.JsonDocumentOptions))
+ {
+ return DeserializeAppLinkData(document.RootElement, options);
+ }
+ default:
+ throw new FormatException($"The model {nameof(AppLinkData)} does not support reading '{options.Format}' format.");
+ }
+ }
+
+ /// The client options for reading and writing models.
+ protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options)
+ {
+ string format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format;
+ switch (format)
+ {
+ case "J":
+ return ModelReaderWriter.Write(this, options, AzureResourceManagerAppLinkContext.Default);
+ default:
+ throw new FormatException($"The model {nameof(AppLinkData)} does not support writing '{options.Format}' format.");
+ }
+ }
+
+ /// The client options for reading and writing models.
+ BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => PersistableModelWriteCore(options);
+
+ /// The data to parse.
+ /// The client options for reading and writing models.
+ AppLinkData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => (AppLinkData)PersistableModelCreateCore(data, options);
+
+ /// The client options for reading and writing models.
+ string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => "J";
+
+ /// The to serialize into .
+ internal static RequestContent ToRequestContent(AppLinkData appLinkData)
+ {
+ if (appLinkData == null)
+ {
+ return null;
+ }
+ return RequestContent.Create(appLinkData, ModelSerializationExtensions.WireOptions);
+ }
+
+ /// The to deserialize the from.
+ internal static AppLinkData FromResponse(Response response)
+ {
+ using JsonDocument document = JsonDocument.Parse(response.Content, ModelSerializationExtensions.JsonDocumentOptions);
+ return DeserializeAppLinkData(document.RootElement, ModelSerializationExtensions.WireOptions);
+ }
+
+ /// The JSON writer.
+ /// The client options for reading and writing models.
+ void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
+ {
+ writer.WriteStartObject();
+ JsonModelWriteCore(writer, options);
+ writer.WriteEndObject();
+ }
+
+ /// The JSON writer.
+ /// The client options for reading and writing models.
+ protected override void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
+ {
+ string format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format;
+ if (format != "J")
+ {
+ throw new FormatException($"The model {nameof(AppLinkData)} does not support writing '{format}' format.");
+ }
+ base.JsonModelWriteCore(writer, options);
+ if (Optional.IsDefined(Properties))
+ {
+ writer.WritePropertyName("properties"u8);
+ writer.WriteObjectValue(Properties, options);
+ }
+ if (Optional.IsDefined(Identity))
+ {
+ writer.WritePropertyName("identity"u8);
+ ((IJsonModel)Identity).Write(writer, options.Format == "W" ? ModelSerializationExtensions.WireV3Options : ModelSerializationExtensions.JsonV3Options);
+ }
+ }
+
+ /// The JSON reader.
+ /// The client options for reading and writing models.
+ AppLinkData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => (AppLinkData)JsonModelCreateCore(ref reader, options);
+
+ /// The JSON reader.
+ /// The client options for reading and writing models.
+ protected virtual ResourceData JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options)
+ {
+ string format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format;
+ if (format != "J")
+ {
+ throw new FormatException($"The model {nameof(AppLinkData)} does not support reading '{format}' format.");
+ }
+ using JsonDocument document = JsonDocument.ParseValue(ref reader);
+ return DeserializeAppLinkData(document.RootElement, options);
+ }
+
+ /// The JSON element to deserialize.
+ /// The client options for reading and writing models.
+ internal static AppLinkData DeserializeAppLinkData(JsonElement element, ModelReaderWriterOptions options)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ ResourceIdentifier id = default;
+ string name = default;
+ ResourceType resourceType = default;
+ SystemData systemData = default;
+ IDictionary additionalBinaryDataProperties = new ChangeTrackingDictionary();
+ IDictionary tags = default;
+ AzureLocation location = default;
+ AppLinkProperties properties = default;
+ ManagedServiceIdentity identity = default;
+ foreach (var prop in element.EnumerateObject())
+ {
+ if (prop.NameEquals("id"u8))
+ {
+ if (prop.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ id = new ResourceIdentifier(prop.Value.GetString());
+ continue;
+ }
+ if (prop.NameEquals("name"u8))
+ {
+ name = prop.Value.GetString();
+ continue;
+ }
+ if (prop.NameEquals("type"u8))
+ {
+ if (prop.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ resourceType = new ResourceType(prop.Value.GetString());
+ continue;
+ }
+ if (prop.NameEquals("systemData"u8))
+ {
+ if (prop.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ systemData = ModelReaderWriter.Read(new BinaryData(Encoding.UTF8.GetBytes(prop.Value.GetRawText())), ModelSerializationExtensions.WireOptions, AzureResourceManagerAppLinkContext.Default);
+ continue;
+ }
+ if (prop.NameEquals("tags"u8))
+ {
+ if (prop.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ Dictionary dictionary = new Dictionary();
+ foreach (var prop0 in prop.Value.EnumerateObject())
+ {
+ if (prop0.Value.ValueKind == JsonValueKind.Null)
+ {
+ dictionary.Add(prop0.Name, null);
+ }
+ else
+ {
+ dictionary.Add(prop0.Name, prop0.Value.GetString());
+ }
+ }
+ tags = dictionary;
+ continue;
+ }
+ if (prop.NameEquals("location"u8))
+ {
+ location = new AzureLocation(prop.Value.GetString());
+ continue;
+ }
+ if (prop.NameEquals("properties"u8))
+ {
+ if (prop.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ properties = AppLinkProperties.DeserializeAppLinkProperties(prop.Value, options);
+ continue;
+ }
+ if (prop.NameEquals("identity"u8))
+ {
+ if (prop.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ identity = ModelReaderWriter.Read(new BinaryData(Encoding.UTF8.GetBytes(prop.Value.GetRawText())), options.Format == "W" ? ModelSerializationExtensions.WireV3Options : ModelSerializationExtensions.JsonV3Options, AzureResourceManagerAppLinkContext.Default);
+ continue;
+ }
+ if (options.Format != "W")
+ {
+ additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText()));
+ }
+ }
+ return new AppLinkData(
+ id,
+ name,
+ resourceType,
+ systemData,
+ additionalBinaryDataProperties,
+ tags ?? new ChangeTrackingDictionary(),
+ location,
+ properties,
+ identity);
+ }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkData.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkData.cs
new file mode 100644
index 000000000000..f6abfb556d2d
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkData.cs
@@ -0,0 +1,60 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using Azure.Core;
+using Azure.ResourceManager.AppLink.Models;
+using Azure.ResourceManager.Models;
+
+namespace Azure.ResourceManager.AppLink
+{
+ /// AppLink resource.
+ public partial class AppLinkData : TrackedResourceData
+ {
+ /// Keeps track of any properties unknown to the library.
+ private protected readonly IDictionary _additionalBinaryDataProperties;
+
+ /// Initializes a new instance of .
+ /// The geo-location where the resource lives.
+ public AppLinkData(AzureLocation location) : base(location)
+ {
+ }
+
+ /// Initializes a new instance of .
+ /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ /// The name of the resource.
+ /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts".
+ /// Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ /// Keeps track of any properties unknown to the library.
+ /// Resource tags.
+ /// The geo-location where the resource lives.
+ /// The resource-specific properties for this resource.
+ /// The managed service identities assigned to this resource.
+ internal AppLinkData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary additionalBinaryDataProperties, IDictionary tags, AzureLocation location, AppLinkProperties properties, ManagedServiceIdentity identity) : base(id, name, resourceType, systemData, tags, location)
+ {
+ _additionalBinaryDataProperties = additionalBinaryDataProperties;
+ Properties = properties;
+ Identity = identity;
+ }
+
+ /// The resource-specific properties for this resource.
+ internal AppLinkProperties Properties { get; set; }
+
+ /// The managed service identities assigned to this resource.
+ public ManagedServiceIdentity Identity { get; set; }
+
+ /// Provisioning state.
+ public ProvisioningState? AppLinkProvisioningState
+ {
+ get
+ {
+ return Properties is null ? default : Properties.ProvisioningState;
+ }
+ }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberCollection.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberCollection.cs
new file mode 100644
index 000000000000..35b236d3b4aa
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberCollection.cs
@@ -0,0 +1,583 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Threading;
+using System.Threading.Tasks;
+using Azure;
+using Azure.Core;
+using Azure.Core.Pipeline;
+using Azure.ResourceManager;
+
+namespace Azure.ResourceManager.AppLink
+{
+ ///
+ /// A class representing a collection of and their operations.
+ /// Each in the collection will belong to the same instance of .
+ /// To get a instance call the GetAppLinkMembers method from an instance of .
+ ///
+ public partial class AppLinkMemberCollection : ArmCollection, IEnumerable, IAsyncEnumerable
+ {
+ private readonly ClientDiagnostics _appLinkMembersClientDiagnostics;
+ private readonly AppLinkMembers _appLinkMembersRestClient;
+ private readonly ClientDiagnostics _upgradeHistoriesClientDiagnostics;
+ private readonly UpgradeHistories _upgradeHistoriesRestClient;
+
+ /// Initializes a new instance of AppLinkMemberCollection for mocking.
+ protected AppLinkMemberCollection()
+ {
+ }
+
+ /// Initializes a new instance of class.
+ /// The client parameters to use in these operations.
+ /// The identifier of the resource that is the target of operations.
+ internal AppLinkMemberCollection(ArmClient client, ResourceIdentifier id) : base(client, id)
+ {
+ TryGetApiVersion(AppLinkMemberResource.ResourceType, out string appLinkMemberApiVersion);
+ _appLinkMembersClientDiagnostics = new ClientDiagnostics("Azure.ResourceManager.AppLink", AppLinkMemberResource.ResourceType.Namespace, Diagnostics);
+ _appLinkMembersRestClient = new AppLinkMembers(_appLinkMembersClientDiagnostics, Pipeline, Endpoint, appLinkMemberApiVersion ?? "2025-08-01-preview");
+ _upgradeHistoriesClientDiagnostics = new ClientDiagnostics("Azure.ResourceManager.AppLink", AppLinkMemberResource.ResourceType.Namespace, Diagnostics);
+ _upgradeHistoriesRestClient = new UpgradeHistories(_upgradeHistoriesClientDiagnostics, Pipeline, Endpoint, appLinkMemberApiVersion ?? "2025-08-01-preview");
+ ValidateResourceId(id);
+ }
+
+ ///
+ [Conditional("DEBUG")]
+ internal static void ValidateResourceId(ResourceIdentifier id)
+ {
+ if (id.ResourceType != AppLinkResource.ResourceType)
+ {
+ throw new ArgumentException(string.Format("Invalid resource type {0} expected {1}", id.ResourceType, AppLinkResource.ResourceType), id);
+ }
+ }
+
+ ///
+ /// Create an AppLinkMember.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_CreateOrUpdate.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.
+ /// The name of the AppLinkMember.
+ /// Resource create parameters.
+ /// The cancellation token to use.
+ /// or is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual async Task> CreateOrUpdateAsync(WaitUntil waitUntil, string appLinkMemberName, AppLinkMemberData data, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkMemberName, nameof(appLinkMemberName));
+ Argument.AssertNotNull(data, nameof(data));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberCollection.CreateOrUpdate");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateCreateOrUpdateRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, appLinkMemberName, AppLinkMemberData.ToRequestContent(data), context);
+ Response response = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ AppLinkArmOperation operation = new AppLinkArmOperation(
+ new AppLinkMemberOperationSource(Client),
+ _appLinkMembersClientDiagnostics,
+ Pipeline,
+ message.Request,
+ response,
+ OperationFinalStateVia.AzureAsyncOperation);
+ if (waitUntil == WaitUntil.Completed)
+ {
+ await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false);
+ }
+ return operation;
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Create an AppLinkMember.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_CreateOrUpdate.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.
+ /// The name of the AppLinkMember.
+ /// Resource create parameters.
+ /// The cancellation token to use.
+ /// or is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual ArmOperation CreateOrUpdate(WaitUntil waitUntil, string appLinkMemberName, AppLinkMemberData data, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkMemberName, nameof(appLinkMemberName));
+ Argument.AssertNotNull(data, nameof(data));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberCollection.CreateOrUpdate");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateCreateOrUpdateRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, appLinkMemberName, AppLinkMemberData.ToRequestContent(data), context);
+ Response response = Pipeline.ProcessMessage(message, context);
+ AppLinkArmOperation operation = new AppLinkArmOperation(
+ new AppLinkMemberOperationSource(Client),
+ _appLinkMembersClientDiagnostics,
+ Pipeline,
+ message.Request,
+ response,
+ OperationFinalStateVia.AzureAsyncOperation);
+ if (waitUntil == WaitUntil.Completed)
+ {
+ operation.WaitForCompletion(cancellationToken);
+ }
+ return operation;
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Get an AppLinkMember.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The name of the AppLinkMember.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual async Task> GetAsync(string appLinkMemberName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkMemberName, nameof(appLinkMemberName));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberCollection.Get");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, appLinkMemberName, context);
+ Response result = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ Response response = Response.FromValue(AppLinkMemberData.FromResponse(result), result);
+ if (response.Value == null)
+ {
+ throw new RequestFailedException(response.GetRawResponse());
+ }
+ return Response.FromValue(new AppLinkMemberResource(Client, response.Value), response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Get an AppLinkMember.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The name of the AppLinkMember.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual Response Get(string appLinkMemberName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkMemberName, nameof(appLinkMemberName));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberCollection.Get");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, appLinkMemberName, context);
+ Response result = Pipeline.ProcessMessage(message, context);
+ Response response = Response.FromValue(AppLinkMemberData.FromResponse(result), result);
+ if (response.Value == null)
+ {
+ throw new RequestFailedException(response.GetRawResponse());
+ }
+ return Response.FromValue(new AppLinkMemberResource(Client, response.Value), response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// List AppLinkMember resources by AppLink.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_ListByAppLink.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The cancellation token to use.
+ /// A collection of that may take multiple service requests to iterate over.
+ public virtual AsyncPageable GetAllAsync(CancellationToken cancellationToken = default)
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ return new AsyncPageableWrapper(new AppLinkMembersGetByAppLinkAsyncCollectionResultOfT(_appLinkMembersRestClient, Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, context), data => new AppLinkMemberResource(Client, data));
+ }
+
+ ///
+ /// List AppLinkMember resources by AppLink.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_ListByAppLink.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The cancellation token to use.
+ /// A collection of that may take multiple service requests to iterate over.
+ public virtual Pageable GetAll(CancellationToken cancellationToken = default)
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ return new PageableWrapper(new AppLinkMembersGetByAppLinkCollectionResultOfT(_appLinkMembersRestClient, Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, context), data => new AppLinkMemberResource(Client, data));
+ }
+
+ ///
+ /// Checks to see if the resource exists in azure.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The name of the AppLinkMember.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual async Task> ExistsAsync(string appLinkMemberName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkMemberName, nameof(appLinkMemberName));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberCollection.Exists");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, appLinkMemberName, context);
+ await Pipeline.SendAsync(message, context.CancellationToken).ConfigureAwait(false);
+ Response result = message.Response;
+ Response response = default;
+ switch (result.Status)
+ {
+ case 200:
+ response = Response.FromValue(AppLinkMemberData.FromResponse(result), result);
+ break;
+ case 404:
+ response = Response.FromValue((AppLinkMemberData)null, result);
+ break;
+ default:
+ throw new RequestFailedException(result);
+ }
+ return Response.FromValue(response.Value != null, response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Checks to see if the resource exists in azure.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The name of the AppLinkMember.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual Response Exists(string appLinkMemberName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkMemberName, nameof(appLinkMemberName));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberCollection.Exists");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, appLinkMemberName, context);
+ Pipeline.Send(message, context.CancellationToken);
+ Response result = message.Response;
+ Response response = default;
+ switch (result.Status)
+ {
+ case 200:
+ response = Response.FromValue(AppLinkMemberData.FromResponse(result), result);
+ break;
+ case 404:
+ response = Response.FromValue((AppLinkMemberData)null, result);
+ break;
+ default:
+ throw new RequestFailedException(result);
+ }
+ return Response.FromValue(response.Value != null, response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Tries to get details for this resource from the service.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The name of the AppLinkMember.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual async Task> GetIfExistsAsync(string appLinkMemberName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkMemberName, nameof(appLinkMemberName));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberCollection.GetIfExists");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, appLinkMemberName, context);
+ await Pipeline.SendAsync(message, context.CancellationToken).ConfigureAwait(false);
+ Response result = message.Response;
+ Response response = default;
+ switch (result.Status)
+ {
+ case 200:
+ response = Response.FromValue(AppLinkMemberData.FromResponse(result), result);
+ break;
+ case 404:
+ response = Response.FromValue((AppLinkMemberData)null, result);
+ break;
+ default:
+ throw new RequestFailedException(result);
+ }
+ if (response.Value == null)
+ {
+ return new NoValueResponse(response.GetRawResponse());
+ }
+ return Response.FromValue(new AppLinkMemberResource(Client, response.Value), response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Tries to get details for this resource from the service.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ ///
+ ///
+ /// The name of the AppLinkMember.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ public virtual NullableResponse GetIfExists(string appLinkMemberName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkMemberName, nameof(appLinkMemberName));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberCollection.GetIfExists");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, appLinkMemberName, context);
+ Pipeline.Send(message, context.CancellationToken);
+ Response result = message.Response;
+ Response response = default;
+ switch (result.Status)
+ {
+ case 200:
+ response = Response.FromValue(AppLinkMemberData.FromResponse(result), result);
+ break;
+ case 404:
+ response = Response.FromValue((AppLinkMemberData)null, result);
+ break;
+ default:
+ throw new RequestFailedException(result);
+ }
+ if (response.Value == null)
+ {
+ return new NoValueResponse(response.GetRawResponse());
+ }
+ return Response.FromValue(new AppLinkMemberResource(Client, response.Value), response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return GetAll().GetEnumerator();
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return GetAll().GetEnumerator();
+ }
+
+ /// The cancellation token to use.
+ IAsyncEnumerator IAsyncEnumerable.GetAsyncEnumerator(CancellationToken cancellationToken)
+ {
+ return GetAllAsync(cancellationToken: cancellationToken).GetAsyncEnumerator(cancellationToken);
+ }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberData.Serialization.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberData.Serialization.cs
new file mode 100644
index 000000000000..1f3a55cb91eb
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberData.Serialization.cs
@@ -0,0 +1,229 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Collections.Generic;
+using System.Text;
+using System.Text.Json;
+using Azure;
+using Azure.Core;
+using Azure.ResourceManager.AppLink.Models;
+using Azure.ResourceManager.Models;
+
+namespace Azure.ResourceManager.AppLink
+{
+ /// AppLink Member resource.
+ public partial class AppLinkMemberData : TrackedResourceData, IJsonModel
+ {
+ /// Initializes a new instance of for deserialization.
+ internal AppLinkMemberData()
+ {
+ }
+
+ /// The data to parse.
+ /// The client options for reading and writing models.
+ protected virtual ResourceData PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options)
+ {
+ string format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format;
+ switch (format)
+ {
+ case "J":
+ using (JsonDocument document = JsonDocument.Parse(data, ModelSerializationExtensions.JsonDocumentOptions))
+ {
+ return DeserializeAppLinkMemberData(document.RootElement, options);
+ }
+ default:
+ throw new FormatException($"The model {nameof(AppLinkMemberData)} does not support reading '{options.Format}' format.");
+ }
+ }
+
+ /// The client options for reading and writing models.
+ protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options)
+ {
+ string format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format;
+ switch (format)
+ {
+ case "J":
+ return ModelReaderWriter.Write(this, options, AzureResourceManagerAppLinkContext.Default);
+ default:
+ throw new FormatException($"The model {nameof(AppLinkMemberData)} does not support writing '{options.Format}' format.");
+ }
+ }
+
+ /// The client options for reading and writing models.
+ BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => PersistableModelWriteCore(options);
+
+ /// The data to parse.
+ /// The client options for reading and writing models.
+ AppLinkMemberData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => (AppLinkMemberData)PersistableModelCreateCore(data, options);
+
+ /// The client options for reading and writing models.
+ string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => "J";
+
+ /// The to serialize into .
+ internal static RequestContent ToRequestContent(AppLinkMemberData appLinkMemberData)
+ {
+ if (appLinkMemberData == null)
+ {
+ return null;
+ }
+ return RequestContent.Create(appLinkMemberData, ModelSerializationExtensions.WireOptions);
+ }
+
+ /// The to deserialize the from.
+ internal static AppLinkMemberData FromResponse(Response response)
+ {
+ using JsonDocument document = JsonDocument.Parse(response.Content, ModelSerializationExtensions.JsonDocumentOptions);
+ return DeserializeAppLinkMemberData(document.RootElement, ModelSerializationExtensions.WireOptions);
+ }
+
+ /// The JSON writer.
+ /// The client options for reading and writing models.
+ void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
+ {
+ writer.WriteStartObject();
+ JsonModelWriteCore(writer, options);
+ writer.WriteEndObject();
+ }
+
+ /// The JSON writer.
+ /// The client options for reading and writing models.
+ protected override void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
+ {
+ string format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format;
+ if (format != "J")
+ {
+ throw new FormatException($"The model {nameof(AppLinkMemberData)} does not support writing '{format}' format.");
+ }
+ base.JsonModelWriteCore(writer, options);
+ if (Optional.IsDefined(Properties))
+ {
+ writer.WritePropertyName("properties"u8);
+ writer.WriteObjectValue(Properties, options);
+ }
+ }
+
+ /// The JSON reader.
+ /// The client options for reading and writing models.
+ AppLinkMemberData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => (AppLinkMemberData)JsonModelCreateCore(ref reader, options);
+
+ /// The JSON reader.
+ /// The client options for reading and writing models.
+ protected virtual ResourceData JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options)
+ {
+ string format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format;
+ if (format != "J")
+ {
+ throw new FormatException($"The model {nameof(AppLinkMemberData)} does not support reading '{format}' format.");
+ }
+ using JsonDocument document = JsonDocument.ParseValue(ref reader);
+ return DeserializeAppLinkMemberData(document.RootElement, options);
+ }
+
+ /// The JSON element to deserialize.
+ /// The client options for reading and writing models.
+ internal static AppLinkMemberData DeserializeAppLinkMemberData(JsonElement element, ModelReaderWriterOptions options)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ ResourceIdentifier id = default;
+ string name = default;
+ ResourceType resourceType = default;
+ SystemData systemData = default;
+ IDictionary additionalBinaryDataProperties = new ChangeTrackingDictionary();
+ IDictionary tags = default;
+ AzureLocation location = default;
+ AppLinkMemberProperties properties = default;
+ foreach (var prop in element.EnumerateObject())
+ {
+ if (prop.NameEquals("id"u8))
+ {
+ if (prop.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ id = new ResourceIdentifier(prop.Value.GetString());
+ continue;
+ }
+ if (prop.NameEquals("name"u8))
+ {
+ name = prop.Value.GetString();
+ continue;
+ }
+ if (prop.NameEquals("type"u8))
+ {
+ if (prop.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ resourceType = new ResourceType(prop.Value.GetString());
+ continue;
+ }
+ if (prop.NameEquals("systemData"u8))
+ {
+ if (prop.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ systemData = ModelReaderWriter.Read(new BinaryData(Encoding.UTF8.GetBytes(prop.Value.GetRawText())), ModelSerializationExtensions.WireOptions, AzureResourceManagerAppLinkContext.Default);
+ continue;
+ }
+ if (prop.NameEquals("tags"u8))
+ {
+ if (prop.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ Dictionary dictionary = new Dictionary();
+ foreach (var prop0 in prop.Value.EnumerateObject())
+ {
+ if (prop0.Value.ValueKind == JsonValueKind.Null)
+ {
+ dictionary.Add(prop0.Name, null);
+ }
+ else
+ {
+ dictionary.Add(prop0.Name, prop0.Value.GetString());
+ }
+ }
+ tags = dictionary;
+ continue;
+ }
+ if (prop.NameEquals("location"u8))
+ {
+ location = new AzureLocation(prop.Value.GetString());
+ continue;
+ }
+ if (prop.NameEquals("properties"u8))
+ {
+ if (prop.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ properties = AppLinkMemberProperties.DeserializeAppLinkMemberProperties(prop.Value, options);
+ continue;
+ }
+ if (options.Format != "W")
+ {
+ additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText()));
+ }
+ }
+ return new AppLinkMemberData(
+ id,
+ name,
+ resourceType,
+ systemData,
+ additionalBinaryDataProperties,
+ tags ?? new ChangeTrackingDictionary(),
+ location,
+ properties);
+ }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberData.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberData.cs
new file mode 100644
index 000000000000..f92817cf9033
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberData.cs
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using Azure.Core;
+using Azure.ResourceManager.AppLink.Models;
+using Azure.ResourceManager.Models;
+
+namespace Azure.ResourceManager.AppLink
+{
+ /// AppLink Member resource.
+ public partial class AppLinkMemberData : TrackedResourceData
+ {
+ /// Keeps track of any properties unknown to the library.
+ private protected readonly IDictionary _additionalBinaryDataProperties;
+
+ /// Initializes a new instance of .
+ /// The geo-location where the resource lives.
+ public AppLinkMemberData(AzureLocation location) : base(location)
+ {
+ }
+
+ /// Initializes a new instance of .
+ /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ /// The name of the resource.
+ /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts".
+ /// Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ /// Keeps track of any properties unknown to the library.
+ /// Resource tags.
+ /// The geo-location where the resource lives.
+ /// The resource-specific properties for this resource.
+ internal AppLinkMemberData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, IDictionary additionalBinaryDataProperties, IDictionary tags, AzureLocation location, AppLinkMemberProperties properties) : base(id, name, resourceType, systemData, tags, location)
+ {
+ _additionalBinaryDataProperties = additionalBinaryDataProperties;
+ Properties = properties;
+ }
+
+ /// The resource-specific properties for this resource.
+ public AppLinkMemberProperties Properties { get; set; }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberResource.Serialization.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberResource.Serialization.cs
new file mode 100644
index 000000000000..f0e3746e263d
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberResource.Serialization.cs
@@ -0,0 +1,39 @@
+// 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 Azure.ResourceManager.AppLink
+{
+ ///
+ public partial class AppLinkMemberResource : IJsonModel
+ {
+ private static IJsonModel s_dataDeserializationInstance;
+
+ private static IJsonModel DataDeserializationInstance => s_dataDeserializationInstance ??= new AppLinkMemberData();
+
+ /// The writer to serialize the model to.
+ /// The client options for reading and writing models.
+ void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options);
+
+ /// The reader for deserializing the model.
+ /// The client options for reading and writing models.
+ AppLinkMemberData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => DataDeserializationInstance.Create(ref reader, options);
+
+ /// The client options for reading and writing models.
+ BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options, AzureResourceManagerAppLinkContext.Default);
+
+ /// The binary data to be processed.
+ /// The client options for reading and writing models.
+ AppLinkMemberData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options, AzureResourceManagerAppLinkContext.Default);
+
+ /// The client options for reading and writing models.
+ string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => DataDeserializationInstance.GetFormatFromOptions(options);
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberResource.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberResource.cs
new file mode 100644
index 000000000000..2d0d3c69365d
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkMemberResource.cs
@@ -0,0 +1,763 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Threading;
+using System.Threading.Tasks;
+using Azure;
+using Azure.Core;
+using Azure.Core.Pipeline;
+using Azure.ResourceManager;
+using Azure.ResourceManager.AppLink.Models;
+using Azure.ResourceManager.Resources;
+
+namespace Azure.ResourceManager.AppLink
+{
+ ///
+ /// A class representing a AppLinkMember along with the instance operations that can be performed on it.
+ /// If you have a you can construct a from an instance of using the GetResource method.
+ /// Otherwise you can get one from its parent resource using the GetAppLinkMembers method.
+ ///
+ public partial class AppLinkMemberResource : ArmResource
+ {
+ private readonly ClientDiagnostics _appLinkMembersClientDiagnostics;
+ private readonly AppLinkMembers _appLinkMembersRestClient;
+ private readonly ClientDiagnostics _upgradeHistoriesClientDiagnostics;
+ private readonly UpgradeHistories _upgradeHistoriesRestClient;
+ private readonly AppLinkMemberData _data;
+ /// Gets the resource type for the operations.
+ public static readonly ResourceType ResourceType = "Microsoft.AppLink/appLinks/appLinkMembers";
+
+ /// Initializes a new instance of AppLinkMemberResource for mocking.
+ protected AppLinkMemberResource()
+ {
+ }
+
+ /// Initializes a new instance of class.
+ /// The client parameters to use in these operations.
+ /// The resource that is the target of operations.
+ internal AppLinkMemberResource(ArmClient client, AppLinkMemberData data) : this(client, data.Id)
+ {
+ HasData = true;
+ _data = data;
+ }
+
+ /// Initializes a new instance of class.
+ /// The client parameters to use in these operations.
+ /// The identifier of the resource that is the target of operations.
+ internal AppLinkMemberResource(ArmClient client, ResourceIdentifier id) : base(client, id)
+ {
+ TryGetApiVersion(ResourceType, out string appLinkMemberApiVersion);
+ _appLinkMembersClientDiagnostics = new ClientDiagnostics("Azure.ResourceManager.AppLink", ResourceType.Namespace, Diagnostics);
+ _appLinkMembersRestClient = new AppLinkMembers(_appLinkMembersClientDiagnostics, Pipeline, Endpoint, appLinkMemberApiVersion ?? "2025-08-01-preview");
+ _upgradeHistoriesClientDiagnostics = new ClientDiagnostics("Azure.ResourceManager.AppLink", ResourceType.Namespace, Diagnostics);
+ _upgradeHistoriesRestClient = new UpgradeHistories(_upgradeHistoriesClientDiagnostics, Pipeline, Endpoint, appLinkMemberApiVersion ?? "2025-08-01-preview");
+ ValidateResourceId(id);
+ }
+
+ /// Gets whether or not the current instance has data.
+ public virtual bool HasData { get; }
+
+ /// Gets the data representing this Feature.
+ public virtual AppLinkMemberData Data
+ {
+ get
+ {
+ if (!HasData)
+ {
+ throw new InvalidOperationException("The current instance does not have data, you must call Get first.");
+ }
+ return _data;
+ }
+ }
+
+ /// Generate the resource identifier for this resource.
+ /// The subscriptionId.
+ /// The resourceGroupName.
+ /// The appLinkName.
+ /// The appLinkMemberName.
+ public static ResourceIdentifier CreateResourceIdentifier(string subscriptionId, string resourceGroupName, string appLinkName, string appLinkMemberName)
+ {
+ string resourceId = $"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}";
+ return new ResourceIdentifier(resourceId);
+ }
+
+ ///
+ [Conditional("DEBUG")]
+ internal static void ValidateResourceId(ResourceIdentifier id)
+ {
+ if (id.ResourceType != ResourceType)
+ {
+ throw new ArgumentException(string.Format("Invalid resource type {0} expected {1}", id.ResourceType, ResourceType), id);
+ }
+ }
+
+ ///
+ /// Get an AppLinkMember.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ /// -
+ /// Resource.
+ /// .
+ ///
+ ///
+ ///
+ /// The cancellation token to use.
+ public virtual async Task> GetAsync(CancellationToken cancellationToken = default)
+ {
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberResource.Get");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Parent.Name, Id.Name, context);
+ Response result = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ Response response = Response.FromValue(AppLinkMemberData.FromResponse(result), result);
+ if (response.Value == null)
+ {
+ throw new RequestFailedException(response.GetRawResponse());
+ }
+ return Response.FromValue(new AppLinkMemberResource(Client, response.Value), response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Get an AppLinkMember.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ /// -
+ /// Resource.
+ /// .
+ ///
+ ///
+ ///
+ /// The cancellation token to use.
+ public virtual Response Get(CancellationToken cancellationToken = default)
+ {
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberResource.Get");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Parent.Name, Id.Name, context);
+ Response result = Pipeline.ProcessMessage(message, context);
+ Response response = Response.FromValue(AppLinkMemberData.FromResponse(result), result);
+ if (response.Value == null)
+ {
+ throw new RequestFailedException(response.GetRawResponse());
+ }
+ return Response.FromValue(new AppLinkMemberResource(Client, response.Value), response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Update an AppLinkMember.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_Update.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ /// -
+ /// Resource.
+ /// .
+ ///
+ ///
+ ///
+ /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.
+ /// The resource properties to be updated.
+ /// The cancellation token to use.
+ /// is null.
+ public virtual async Task> UpdateAsync(WaitUntil waitUntil, AppLinkMemberPatch patch, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(patch, nameof(patch));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberResource.Update");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateUpdateRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Parent.Name, Id.Name, AppLinkMemberPatch.ToRequestContent(patch), context);
+ Response response = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ AppLinkArmOperation operation = new AppLinkArmOperation(
+ new AppLinkMemberOperationSource(Client),
+ _appLinkMembersClientDiagnostics,
+ Pipeline,
+ message.Request,
+ response,
+ OperationFinalStateVia.AzureAsyncOperation);
+ if (waitUntil == WaitUntil.Completed)
+ {
+ await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false);
+ }
+ return operation;
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Update an AppLinkMember.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_Update.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ /// -
+ /// Resource.
+ /// .
+ ///
+ ///
+ ///
+ /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.
+ /// The resource properties to be updated.
+ /// The cancellation token to use.
+ /// is null.
+ public virtual ArmOperation Update(WaitUntil waitUntil, AppLinkMemberPatch patch, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(patch, nameof(patch));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberResource.Update");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateUpdateRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Parent.Name, Id.Name, AppLinkMemberPatch.ToRequestContent(patch), context);
+ Response response = Pipeline.ProcessMessage(message, context);
+ AppLinkArmOperation operation = new AppLinkArmOperation(
+ new AppLinkMemberOperationSource(Client),
+ _appLinkMembersClientDiagnostics,
+ Pipeline,
+ message.Request,
+ response,
+ OperationFinalStateVia.AzureAsyncOperation);
+ if (waitUntil == WaitUntil.Completed)
+ {
+ operation.WaitForCompletion(cancellationToken);
+ }
+ return operation;
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Delete an AppLinkMember.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_Delete.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ /// -
+ /// Resource.
+ /// .
+ ///
+ ///
+ ///
+ /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.
+ /// The cancellation token to use.
+ public virtual async Task DeleteAsync(WaitUntil waitUntil, CancellationToken cancellationToken = default)
+ {
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberResource.Delete");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateDeleteRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Parent.Name, Id.Name, context);
+ Response response = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ AppLinkArmOperation operation = new AppLinkArmOperation(_appLinkMembersClientDiagnostics, Pipeline, message.Request, response, OperationFinalStateVia.Location);
+ if (waitUntil == WaitUntil.Completed)
+ {
+ await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false);
+ }
+ return operation;
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Delete an AppLinkMember.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinkMembers_Delete.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ /// -
+ /// Resource.
+ /// .
+ ///
+ ///
+ ///
+ /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.
+ /// The cancellation token to use.
+ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancellationToken = default)
+ {
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberResource.Delete");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateDeleteRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Parent.Name, Id.Name, context);
+ Response response = Pipeline.ProcessMessage(message, context);
+ AppLinkArmOperation operation = new AppLinkArmOperation(_appLinkMembersClientDiagnostics, Pipeline, message.Request, response, OperationFinalStateVia.Location);
+ if (waitUntil == WaitUntil.Completed)
+ {
+ operation.WaitForCompletionResponse(cancellationToken);
+ }
+ return operation;
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// List UpgradeHistory resources by AppLinkMember.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}/upgradeHistories.
+ ///
+ /// -
+ /// Operation Id.
+ /// UpgradeHistories_ListByAppLinkMember.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ /// -
+ /// Resource.
+ /// .
+ ///
+ ///
+ ///
+ /// The cancellation token to use.
+ /// A collection of that may take multiple service requests to iterate over.
+ public virtual AsyncPageable GetByAppLinkMemberAsync(CancellationToken cancellationToken = default)
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ return new UpgradeHistoriesGetByAppLinkMemberAsyncCollectionResultOfT(
+ _upgradeHistoriesRestClient,
+ Guid.Parse(Id.SubscriptionId),
+ Id.ResourceGroupName,
+ Id.Parent.Name,
+ Id.Name,
+ context);
+ }
+
+ ///
+ /// List UpgradeHistory resources by AppLinkMember.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}/appLinkMembers/{appLinkMemberName}/upgradeHistories.
+ ///
+ /// -
+ /// Operation Id.
+ /// UpgradeHistories_ListByAppLinkMember.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ /// -
+ /// Resource.
+ /// .
+ ///
+ ///
+ ///
+ /// The cancellation token to use.
+ /// A collection of that may take multiple service requests to iterate over.
+ public virtual Pageable GetByAppLinkMember(CancellationToken cancellationToken = default)
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ return new UpgradeHistoriesGetByAppLinkMemberCollectionResultOfT(
+ _upgradeHistoriesRestClient,
+ Guid.Parse(Id.SubscriptionId),
+ Id.ResourceGroupName,
+ Id.Parent.Name,
+ Id.Name,
+ context);
+ }
+
+ /// Add a tag to the current resource.
+ /// The key for the tag.
+ /// The value for the tag.
+ /// The cancellation token to use.
+ /// or is null.
+ public virtual async Task> AddTagAsync(string key, string value, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(key, nameof(key));
+ Argument.AssertNotNull(value, nameof(value));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberResource.AddTag");
+ scope.Start();
+ try
+ {
+ if (await CanUseTagResourceAsync(cancellationToken).ConfigureAwait(false))
+ {
+ Response originalTags = await GetTagResource().GetAsync(cancellationToken).ConfigureAwait(false);
+ originalTags.Value.Data.TagValues[key] = value;
+ await GetTagResource().CreateOrUpdateAsync(WaitUntil.Completed, originalTags.Value.Data, cancellationToken).ConfigureAwait(false);
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Parent.Name, Id.Name, context);
+ Response result = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ Response response = Response.FromValue(AppLinkMemberData.FromResponse(result), result);
+ return Response.FromValue(new AppLinkMemberResource(Client, response.Value), response.GetRawResponse());
+ }
+ else
+ {
+ AppLinkMemberData current = (await GetAsync(cancellationToken: cancellationToken).ConfigureAwait(false)).Value.Data;
+ AppLinkMemberPatch patch = new AppLinkMemberPatch();
+ foreach (KeyValuePair tag in current.Tags)
+ {
+ patch.Tags.Add(tag);
+ }
+ patch.Tags[key] = value;
+ ArmOperation result = await UpdateAsync(WaitUntil.Completed, patch, cancellationToken: cancellationToken).ConfigureAwait(false);
+ return Response.FromValue(result.Value, result.GetRawResponse());
+ }
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ /// Add a tag to the current resource.
+ /// The key for the tag.
+ /// The value for the tag.
+ /// The cancellation token to use.
+ /// or is null.
+ public virtual Response AddTag(string key, string value, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(key, nameof(key));
+ Argument.AssertNotNull(value, nameof(value));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberResource.AddTag");
+ scope.Start();
+ try
+ {
+ if (CanUseTagResource(cancellationToken))
+ {
+ Response originalTags = GetTagResource().Get(cancellationToken);
+ originalTags.Value.Data.TagValues[key] = value;
+ GetTagResource().CreateOrUpdate(WaitUntil.Completed, originalTags.Value.Data, cancellationToken);
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Parent.Name, Id.Name, context);
+ Response result = Pipeline.ProcessMessage(message, context);
+ Response response = Response.FromValue(AppLinkMemberData.FromResponse(result), result);
+ return Response.FromValue(new AppLinkMemberResource(Client, response.Value), response.GetRawResponse());
+ }
+ else
+ {
+ AppLinkMemberData current = Get(cancellationToken: cancellationToken).Value.Data;
+ AppLinkMemberPatch patch = new AppLinkMemberPatch();
+ foreach (KeyValuePair tag in current.Tags)
+ {
+ patch.Tags.Add(tag);
+ }
+ patch.Tags[key] = value;
+ ArmOperation result = Update(WaitUntil.Completed, patch, cancellationToken: cancellationToken);
+ return Response.FromValue(result.Value, result.GetRawResponse());
+ }
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ /// Replace the tags on the resource with the given set.
+ /// The tags to set on the resource.
+ /// The cancellation token to use.
+ /// is null.
+ public virtual async Task> SetTagsAsync(IDictionary tags, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(tags, nameof(tags));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberResource.SetTags");
+ scope.Start();
+ try
+ {
+ if (await CanUseTagResourceAsync(cancellationToken).ConfigureAwait(false))
+ {
+ await GetTagResource().DeleteAsync(WaitUntil.Completed, cancellationToken).ConfigureAwait(false);
+ Response originalTags = await GetTagResource().GetAsync(cancellationToken).ConfigureAwait(false);
+ originalTags.Value.Data.TagValues.ReplaceWith(tags);
+ await GetTagResource().CreateOrUpdateAsync(WaitUntil.Completed, originalTags.Value.Data, cancellationToken).ConfigureAwait(false);
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Parent.Name, Id.Name, context);
+ Response result = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ Response response = Response.FromValue(AppLinkMemberData.FromResponse(result), result);
+ return Response.FromValue(new AppLinkMemberResource(Client, response.Value), response.GetRawResponse());
+ }
+ else
+ {
+ AppLinkMemberData current = (await GetAsync(cancellationToken: cancellationToken).ConfigureAwait(false)).Value.Data;
+ AppLinkMemberPatch patch = new AppLinkMemberPatch();
+ patch.Tags.ReplaceWith(tags);
+ ArmOperation result = await UpdateAsync(WaitUntil.Completed, patch, cancellationToken: cancellationToken).ConfigureAwait(false);
+ return Response.FromValue(result.Value, result.GetRawResponse());
+ }
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ /// Replace the tags on the resource with the given set.
+ /// The tags to set on the resource.
+ /// The cancellation token to use.
+ /// is null.
+ public virtual Response SetTags(IDictionary tags, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(tags, nameof(tags));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberResource.SetTags");
+ scope.Start();
+ try
+ {
+ if (CanUseTagResource(cancellationToken))
+ {
+ GetTagResource().Delete(WaitUntil.Completed, cancellationToken);
+ Response originalTags = GetTagResource().Get(cancellationToken);
+ originalTags.Value.Data.TagValues.ReplaceWith(tags);
+ GetTagResource().CreateOrUpdate(WaitUntil.Completed, originalTags.Value.Data, cancellationToken);
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Parent.Name, Id.Name, context);
+ Response result = Pipeline.ProcessMessage(message, context);
+ Response response = Response.FromValue(AppLinkMemberData.FromResponse(result), result);
+ return Response.FromValue(new AppLinkMemberResource(Client, response.Value), response.GetRawResponse());
+ }
+ else
+ {
+ AppLinkMemberData current = Get(cancellationToken: cancellationToken).Value.Data;
+ AppLinkMemberPatch patch = new AppLinkMemberPatch();
+ patch.Tags.ReplaceWith(tags);
+ ArmOperation result = Update(WaitUntil.Completed, patch, cancellationToken: cancellationToken);
+ return Response.FromValue(result.Value, result.GetRawResponse());
+ }
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ /// Removes a tag by key from the resource.
+ /// The key for the tag.
+ /// The cancellation token to use.
+ /// is null.
+ public virtual async Task> RemoveTagAsync(string key, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(key, nameof(key));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberResource.RemoveTag");
+ scope.Start();
+ try
+ {
+ if (await CanUseTagResourceAsync(cancellationToken).ConfigureAwait(false))
+ {
+ Response originalTags = await GetTagResource().GetAsync(cancellationToken).ConfigureAwait(false);
+ originalTags.Value.Data.TagValues.Remove(key);
+ await GetTagResource().CreateOrUpdateAsync(WaitUntil.Completed, originalTags.Value.Data, cancellationToken).ConfigureAwait(false);
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Parent.Name, Id.Name, context);
+ Response result = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ Response response = Response.FromValue(AppLinkMemberData.FromResponse(result), result);
+ return Response.FromValue(new AppLinkMemberResource(Client, response.Value), response.GetRawResponse());
+ }
+ else
+ {
+ AppLinkMemberData current = (await GetAsync(cancellationToken: cancellationToken).ConfigureAwait(false)).Value.Data;
+ AppLinkMemberPatch patch = new AppLinkMemberPatch();
+ foreach (KeyValuePair tag in current.Tags)
+ {
+ patch.Tags.Add(tag);
+ }
+ patch.Tags.Remove(key);
+ ArmOperation result = await UpdateAsync(WaitUntil.Completed, patch, cancellationToken: cancellationToken).ConfigureAwait(false);
+ return Response.FromValue(result.Value, result.GetRawResponse());
+ }
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ /// Removes a tag by key from the resource.
+ /// The key for the tag.
+ /// The cancellation token to use.
+ /// is null.
+ public virtual Response RemoveTag(string key, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(key, nameof(key));
+
+ using DiagnosticScope scope = _appLinkMembersClientDiagnostics.CreateScope("AppLinkMemberResource.RemoveTag");
+ scope.Start();
+ try
+ {
+ if (CanUseTagResource(cancellationToken))
+ {
+ Response originalTags = GetTagResource().Get(cancellationToken);
+ originalTags.Value.Data.TagValues.Remove(key);
+ GetTagResource().CreateOrUpdate(WaitUntil.Completed, originalTags.Value.Data, cancellationToken);
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinkMembersRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Parent.Name, Id.Name, context);
+ Response result = Pipeline.ProcessMessage(message, context);
+ Response response = Response.FromValue(AppLinkMemberData.FromResponse(result), result);
+ return Response.FromValue(new AppLinkMemberResource(Client, response.Value), response.GetRawResponse());
+ }
+ else
+ {
+ AppLinkMemberData current = Get(cancellationToken: cancellationToken).Value.Data;
+ AppLinkMemberPatch patch = new AppLinkMemberPatch();
+ foreach (KeyValuePair tag in current.Tags)
+ {
+ patch.Tags.Add(tag);
+ }
+ patch.Tags.Remove(key);
+ ArmOperation result = Update(WaitUntil.Completed, patch, cancellationToken: cancellationToken);
+ return Response.FromValue(result.Value, result.GetRawResponse());
+ }
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkResource.Serialization.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkResource.Serialization.cs
new file mode 100644
index 000000000000..fc2d1b5f3242
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkResource.Serialization.cs
@@ -0,0 +1,39 @@
+// 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 Azure.ResourceManager.AppLink
+{
+ ///
+ public partial class AppLinkResource : IJsonModel
+ {
+ private static IJsonModel s_dataDeserializationInstance;
+
+ private static IJsonModel DataDeserializationInstance => s_dataDeserializationInstance ??= new AppLinkData();
+
+ /// The writer to serialize the model to.
+ /// The client options for reading and writing models.
+ void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) => ((IJsonModel)Data).Write(writer, options);
+
+ /// The reader for deserializing the model.
+ /// The client options for reading and writing models.
+ AppLinkData IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => DataDeserializationInstance.Create(ref reader, options);
+
+ /// The client options for reading and writing models.
+ BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) => ModelReaderWriter.Write(Data, options, AzureResourceManagerAppLinkContext.Default);
+
+ /// The binary data to be processed.
+ /// The client options for reading and writing models.
+ AppLinkData IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) => ModelReaderWriter.Read(data, options, AzureResourceManagerAppLinkContext.Default);
+
+ /// The client options for reading and writing models.
+ string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => DataDeserializationInstance.GetFormatFromOptions(options);
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkResource.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkResource.cs
new file mode 100644
index 000000000000..f89e28a4e0e0
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/AppLinkResource.cs
@@ -0,0 +1,715 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Threading;
+using System.Threading.Tasks;
+using Azure;
+using Azure.Core;
+using Azure.Core.Pipeline;
+using Azure.ResourceManager;
+using Azure.ResourceManager.AppLink.Models;
+using Azure.ResourceManager.Resources;
+
+namespace Azure.ResourceManager.AppLink
+{
+ ///
+ /// A class representing a AppLink along with the instance operations that can be performed on it.
+ /// If you have a you can construct a from an instance of using the GetResource method.
+ /// Otherwise you can get one from its parent resource using the GetAppLinks method.
+ ///
+ public partial class AppLinkResource : ArmResource
+ {
+ private readonly ClientDiagnostics _appLinksClientDiagnostics;
+ private readonly AppLinks _appLinksRestClient;
+ private readonly AppLinkData _data;
+ /// Gets the resource type for the operations.
+ public static readonly ResourceType ResourceType = "Microsoft.AppLink/appLinks";
+
+ /// Initializes a new instance of AppLinkResource for mocking.
+ protected AppLinkResource()
+ {
+ }
+
+ /// Initializes a new instance of class.
+ /// The client parameters to use in these operations.
+ /// The resource that is the target of operations.
+ internal AppLinkResource(ArmClient client, AppLinkData data) : this(client, data.Id)
+ {
+ HasData = true;
+ _data = data;
+ }
+
+ /// Initializes a new instance of class.
+ /// The client parameters to use in these operations.
+ /// The identifier of the resource that is the target of operations.
+ internal AppLinkResource(ArmClient client, ResourceIdentifier id) : base(client, id)
+ {
+ TryGetApiVersion(ResourceType, out string appLinkApiVersion);
+ _appLinksClientDiagnostics = new ClientDiagnostics("Azure.ResourceManager.AppLink", ResourceType.Namespace, Diagnostics);
+ _appLinksRestClient = new AppLinks(_appLinksClientDiagnostics, Pipeline, Endpoint, appLinkApiVersion ?? "2025-08-01-preview");
+ ValidateResourceId(id);
+ }
+
+ /// Gets whether or not the current instance has data.
+ public virtual bool HasData { get; }
+
+ /// Gets the data representing this Feature.
+ public virtual AppLinkData Data
+ {
+ get
+ {
+ if (!HasData)
+ {
+ throw new InvalidOperationException("The current instance does not have data, you must call Get first.");
+ }
+ return _data;
+ }
+ }
+
+ /// Generate the resource identifier for this resource.
+ /// The subscriptionId.
+ /// The resourceGroupName.
+ /// The appLinkName.
+ public static ResourceIdentifier CreateResourceIdentifier(string subscriptionId, string resourceGroupName, string appLinkName)
+ {
+ string resourceId = $"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}";
+ return new ResourceIdentifier(resourceId);
+ }
+
+ ///
+ [Conditional("DEBUG")]
+ internal static void ValidateResourceId(ResourceIdentifier id)
+ {
+ if (id.ResourceType != ResourceType)
+ {
+ throw new ArgumentException(string.Format("Invalid resource type {0} expected {1}", id.ResourceType, ResourceType), id);
+ }
+ }
+
+ ///
+ /// Get an AppLink.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ /// -
+ /// Resource.
+ /// .
+ ///
+ ///
+ ///
+ /// The cancellation token to use.
+ public virtual async Task> GetAsync(CancellationToken cancellationToken = default)
+ {
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkResource.Get");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, context);
+ Response result = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ Response response = Response.FromValue(AppLinkData.FromResponse(result), result);
+ if (response.Value == null)
+ {
+ throw new RequestFailedException(response.GetRawResponse());
+ }
+ return Response.FromValue(new AppLinkResource(Client, response.Value), response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Get an AppLink.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_Get.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ /// -
+ /// Resource.
+ /// .
+ ///
+ ///
+ ///
+ /// The cancellation token to use.
+ public virtual Response Get(CancellationToken cancellationToken = default)
+ {
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkResource.Get");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, context);
+ Response result = Pipeline.ProcessMessage(message, context);
+ Response response = Response.FromValue(AppLinkData.FromResponse(result), result);
+ if (response.Value == null)
+ {
+ throw new RequestFailedException(response.GetRawResponse());
+ }
+ return Response.FromValue(new AppLinkResource(Client, response.Value), response.GetRawResponse());
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Update an AppLink.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_Update.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ /// -
+ /// Resource.
+ /// .
+ ///
+ ///
+ ///
+ /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.
+ /// The resource properties to be updated.
+ /// The cancellation token to use.
+ /// is null.
+ public virtual async Task> UpdateAsync(WaitUntil waitUntil, AppLinkPatch patch, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(patch, nameof(patch));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkResource.Update");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateUpdateRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, AppLinkPatch.ToRequestContent(patch), context);
+ Response response = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ AppLinkArmOperation operation = new AppLinkArmOperation(
+ new AppLinkOperationSource(Client),
+ _appLinksClientDiagnostics,
+ Pipeline,
+ message.Request,
+ response,
+ OperationFinalStateVia.AzureAsyncOperation);
+ if (waitUntil == WaitUntil.Completed)
+ {
+ await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false);
+ }
+ return operation;
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Update an AppLink.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_Update.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ /// -
+ /// Resource.
+ /// .
+ ///
+ ///
+ ///
+ /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.
+ /// The resource properties to be updated.
+ /// The cancellation token to use.
+ /// is null.
+ public virtual ArmOperation Update(WaitUntil waitUntil, AppLinkPatch patch, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(patch, nameof(patch));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkResource.Update");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateUpdateRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, AppLinkPatch.ToRequestContent(patch), context);
+ Response response = Pipeline.ProcessMessage(message, context);
+ AppLinkArmOperation operation = new AppLinkArmOperation(
+ new AppLinkOperationSource(Client),
+ _appLinksClientDiagnostics,
+ Pipeline,
+ message.Request,
+ response,
+ OperationFinalStateVia.AzureAsyncOperation);
+ if (waitUntil == WaitUntil.Completed)
+ {
+ operation.WaitForCompletion(cancellationToken);
+ }
+ return operation;
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Delete an AppLink.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_Delete.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ /// -
+ /// Resource.
+ /// .
+ ///
+ ///
+ ///
+ /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.
+ /// The cancellation token to use.
+ public virtual async Task DeleteAsync(WaitUntil waitUntil, CancellationToken cancellationToken = default)
+ {
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkResource.Delete");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateDeleteRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, context);
+ Response response = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ AppLinkArmOperation operation = new AppLinkArmOperation(_appLinksClientDiagnostics, Pipeline, message.Request, response, OperationFinalStateVia.Location);
+ if (waitUntil == WaitUntil.Completed)
+ {
+ await operation.WaitForCompletionResponseAsync(cancellationToken).ConfigureAwait(false);
+ }
+ return operation;
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Delete an AppLink.
+ ///
+ /// -
+ /// Request Path.
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppLink/appLinks/{appLinkName}.
+ ///
+ /// -
+ /// Operation Id.
+ /// AppLinks_Delete.
+ ///
+ /// -
+ /// Default Api Version.
+ /// 2025-08-01-preview.
+ ///
+ /// -
+ /// Resource.
+ /// .
+ ///
+ ///
+ ///
+ /// if the method should wait to return until the long-running operation has completed on the service; if it should return after starting the operation. For more information on long-running operations, please see Azure.Core Long-Running Operation samples.
+ /// The cancellation token to use.
+ public virtual ArmOperation Delete(WaitUntil waitUntil, CancellationToken cancellationToken = default)
+ {
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkResource.Delete");
+ scope.Start();
+ try
+ {
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateDeleteRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, context);
+ Response response = Pipeline.ProcessMessage(message, context);
+ AppLinkArmOperation operation = new AppLinkArmOperation(_appLinksClientDiagnostics, Pipeline, message.Request, response, OperationFinalStateVia.Location);
+ if (waitUntil == WaitUntil.Completed)
+ {
+ operation.WaitForCompletionResponse(cancellationToken);
+ }
+ return operation;
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ /// Add a tag to the current resource.
+ /// The key for the tag.
+ /// The value for the tag.
+ /// The cancellation token to use.
+ /// or is null.
+ public virtual async Task> AddTagAsync(string key, string value, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(key, nameof(key));
+ Argument.AssertNotNull(value, nameof(value));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkResource.AddTag");
+ scope.Start();
+ try
+ {
+ if (await CanUseTagResourceAsync(cancellationToken).ConfigureAwait(false))
+ {
+ Response originalTags = await GetTagResource().GetAsync(cancellationToken).ConfigureAwait(false);
+ originalTags.Value.Data.TagValues[key] = value;
+ await GetTagResource().CreateOrUpdateAsync(WaitUntil.Completed, originalTags.Value.Data, cancellationToken).ConfigureAwait(false);
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, context);
+ Response result = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ Response response = Response.FromValue(AppLinkData.FromResponse(result), result);
+ return Response.FromValue(new AppLinkResource(Client, response.Value), response.GetRawResponse());
+ }
+ else
+ {
+ AppLinkData current = (await GetAsync(cancellationToken: cancellationToken).ConfigureAwait(false)).Value.Data;
+ AppLinkPatch patch = new AppLinkPatch();
+ foreach (KeyValuePair tag in current.Tags)
+ {
+ patch.Tags.Add(tag);
+ }
+ patch.Tags[key] = value;
+ ArmOperation result = await UpdateAsync(WaitUntil.Completed, patch, cancellationToken: cancellationToken).ConfigureAwait(false);
+ return Response.FromValue(result.Value, result.GetRawResponse());
+ }
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ /// Add a tag to the current resource.
+ /// The key for the tag.
+ /// The value for the tag.
+ /// The cancellation token to use.
+ /// or is null.
+ public virtual Response AddTag(string key, string value, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(key, nameof(key));
+ Argument.AssertNotNull(value, nameof(value));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkResource.AddTag");
+ scope.Start();
+ try
+ {
+ if (CanUseTagResource(cancellationToken))
+ {
+ Response originalTags = GetTagResource().Get(cancellationToken);
+ originalTags.Value.Data.TagValues[key] = value;
+ GetTagResource().CreateOrUpdate(WaitUntil.Completed, originalTags.Value.Data, cancellationToken);
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, context);
+ Response result = Pipeline.ProcessMessage(message, context);
+ Response response = Response.FromValue(AppLinkData.FromResponse(result), result);
+ return Response.FromValue(new AppLinkResource(Client, response.Value), response.GetRawResponse());
+ }
+ else
+ {
+ AppLinkData current = Get(cancellationToken: cancellationToken).Value.Data;
+ AppLinkPatch patch = new AppLinkPatch();
+ foreach (KeyValuePair tag in current.Tags)
+ {
+ patch.Tags.Add(tag);
+ }
+ patch.Tags[key] = value;
+ ArmOperation result = Update(WaitUntil.Completed, patch, cancellationToken: cancellationToken);
+ return Response.FromValue(result.Value, result.GetRawResponse());
+ }
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ /// Replace the tags on the resource with the given set.
+ /// The tags to set on the resource.
+ /// The cancellation token to use.
+ /// is null.
+ public virtual async Task> SetTagsAsync(IDictionary tags, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(tags, nameof(tags));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkResource.SetTags");
+ scope.Start();
+ try
+ {
+ if (await CanUseTagResourceAsync(cancellationToken).ConfigureAwait(false))
+ {
+ await GetTagResource().DeleteAsync(WaitUntil.Completed, cancellationToken).ConfigureAwait(false);
+ Response originalTags = await GetTagResource().GetAsync(cancellationToken).ConfigureAwait(false);
+ originalTags.Value.Data.TagValues.ReplaceWith(tags);
+ await GetTagResource().CreateOrUpdateAsync(WaitUntil.Completed, originalTags.Value.Data, cancellationToken).ConfigureAwait(false);
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, context);
+ Response result = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ Response response = Response.FromValue(AppLinkData.FromResponse(result), result);
+ return Response.FromValue(new AppLinkResource(Client, response.Value), response.GetRawResponse());
+ }
+ else
+ {
+ AppLinkData current = (await GetAsync(cancellationToken: cancellationToken).ConfigureAwait(false)).Value.Data;
+ AppLinkPatch patch = new AppLinkPatch();
+ patch.Tags.ReplaceWith(tags);
+ ArmOperation result = await UpdateAsync(WaitUntil.Completed, patch, cancellationToken: cancellationToken).ConfigureAwait(false);
+ return Response.FromValue(result.Value, result.GetRawResponse());
+ }
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ /// Replace the tags on the resource with the given set.
+ /// The tags to set on the resource.
+ /// The cancellation token to use.
+ /// is null.
+ public virtual Response SetTags(IDictionary tags, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(tags, nameof(tags));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkResource.SetTags");
+ scope.Start();
+ try
+ {
+ if (CanUseTagResource(cancellationToken))
+ {
+ GetTagResource().Delete(WaitUntil.Completed, cancellationToken);
+ Response originalTags = GetTagResource().Get(cancellationToken);
+ originalTags.Value.Data.TagValues.ReplaceWith(tags);
+ GetTagResource().CreateOrUpdate(WaitUntil.Completed, originalTags.Value.Data, cancellationToken);
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, context);
+ Response result = Pipeline.ProcessMessage(message, context);
+ Response response = Response.FromValue(AppLinkData.FromResponse(result), result);
+ return Response.FromValue(new AppLinkResource(Client, response.Value), response.GetRawResponse());
+ }
+ else
+ {
+ AppLinkData current = Get(cancellationToken: cancellationToken).Value.Data;
+ AppLinkPatch patch = new AppLinkPatch();
+ patch.Tags.ReplaceWith(tags);
+ ArmOperation result = Update(WaitUntil.Completed, patch, cancellationToken: cancellationToken);
+ return Response.FromValue(result.Value, result.GetRawResponse());
+ }
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ /// Removes a tag by key from the resource.
+ /// The key for the tag.
+ /// The cancellation token to use.
+ /// is null.
+ public virtual async Task> RemoveTagAsync(string key, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(key, nameof(key));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkResource.RemoveTag");
+ scope.Start();
+ try
+ {
+ if (await CanUseTagResourceAsync(cancellationToken).ConfigureAwait(false))
+ {
+ Response originalTags = await GetTagResource().GetAsync(cancellationToken).ConfigureAwait(false);
+ originalTags.Value.Data.TagValues.Remove(key);
+ await GetTagResource().CreateOrUpdateAsync(WaitUntil.Completed, originalTags.Value.Data, cancellationToken).ConfigureAwait(false);
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, context);
+ Response result = await Pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false);
+ Response response = Response.FromValue(AppLinkData.FromResponse(result), result);
+ return Response.FromValue(new AppLinkResource(Client, response.Value), response.GetRawResponse());
+ }
+ else
+ {
+ AppLinkData current = (await GetAsync(cancellationToken: cancellationToken).ConfigureAwait(false)).Value.Data;
+ AppLinkPatch patch = new AppLinkPatch();
+ foreach (KeyValuePair tag in current.Tags)
+ {
+ patch.Tags.Add(tag);
+ }
+ patch.Tags.Remove(key);
+ ArmOperation result = await UpdateAsync(WaitUntil.Completed, patch, cancellationToken: cancellationToken).ConfigureAwait(false);
+ return Response.FromValue(result.Value, result.GetRawResponse());
+ }
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ /// Removes a tag by key from the resource.
+ /// The key for the tag.
+ /// The cancellation token to use.
+ /// is null.
+ public virtual Response RemoveTag(string key, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(key, nameof(key));
+
+ using DiagnosticScope scope = _appLinksClientDiagnostics.CreateScope("AppLinkResource.RemoveTag");
+ scope.Start();
+ try
+ {
+ if (CanUseTagResource(cancellationToken))
+ {
+ Response originalTags = GetTagResource().Get(cancellationToken);
+ originalTags.Value.Data.TagValues.Remove(key);
+ GetTagResource().CreateOrUpdate(WaitUntil.Completed, originalTags.Value.Data, cancellationToken);
+ RequestContext context = new RequestContext
+ {
+ CancellationToken = cancellationToken
+ };
+ HttpMessage message = _appLinksRestClient.CreateGetRequest(Guid.Parse(Id.SubscriptionId), Id.ResourceGroupName, Id.Name, context);
+ Response result = Pipeline.ProcessMessage(message, context);
+ Response response = Response.FromValue(AppLinkData.FromResponse(result), result);
+ return Response.FromValue(new AppLinkResource(Client, response.Value), response.GetRawResponse());
+ }
+ else
+ {
+ AppLinkData current = Get(cancellationToken: cancellationToken).Value.Data;
+ AppLinkPatch patch = new AppLinkPatch();
+ foreach (KeyValuePair tag in current.Tags)
+ {
+ patch.Tags.Add(tag);
+ }
+ patch.Tags.Remove(key);
+ ArmOperation result = Update(WaitUntil.Completed, patch, cancellationToken: cancellationToken);
+ return Response.FromValue(result.Value, result.GetRawResponse());
+ }
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ /// Gets a collection of AppLinkMembers in the .
+ /// An object representing collection of AppLinkMembers and their operations over a AppLinkMemberResource.
+ public virtual AppLinkMemberCollection GetAppLinkMembers()
+ {
+ return GetCachedClient(client => new AppLinkMemberCollection(client, Id));
+ }
+
+ /// Get an AppLinkMember.
+ /// The name of the AppLinkMember.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ [ForwardsClientCalls]
+ public virtual async Task> GetAppLinkMemberAsync(string appLinkMemberName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkMemberName, nameof(appLinkMemberName));
+
+ return await GetAppLinkMembers().GetAsync(appLinkMemberName, cancellationToken).ConfigureAwait(false);
+ }
+
+ /// Get an AppLinkMember.
+ /// The name of the AppLinkMember.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ [ForwardsClientCalls]
+ public virtual Response GetAppLinkMember(string appLinkMemberName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNullOrEmpty(appLinkMemberName, nameof(appLinkMemberName));
+
+ return GetAppLinkMembers().Get(appLinkMemberName, cancellationToken);
+ }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/ArmAppLinkModelFactory.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/ArmAppLinkModelFactory.cs
new file mode 100644
index 000000000000..503b56eb4c0c
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/ArmAppLinkModelFactory.cs
@@ -0,0 +1,197 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure;
+using Azure.Core;
+using Azure.ResourceManager.AppLink;
+using Azure.ResourceManager.Models;
+
+namespace Azure.ResourceManager.AppLink.Models
+{
+ /// A factory class for creating instances of the models for mocking.
+ public static partial class ArmAppLinkModelFactory
+ {
+
+ /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ /// The name of the resource.
+ /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts".
+ /// Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ /// Resource tags.
+ /// The geo-location where the resource lives.
+ /// Provisioning state.
+ /// The managed service identities assigned to this resource.
+ /// A new instance for mocking.
+ public static AppLinkData AppLinkData(ResourceIdentifier id = default, string name = default, ResourceType resourceType = default, SystemData systemData = default, IDictionary tags = default, AzureLocation location = default, ProvisioningState? appLinkProvisioningState = default, ManagedServiceIdentity identity = default)
+ {
+ tags ??= new ChangeTrackingDictionary();
+
+ return new AppLinkData(
+ id,
+ name,
+ resourceType,
+ systemData,
+ additionalBinaryDataProperties: null,
+ tags,
+ location,
+ appLinkProvisioningState is null ? default : new AppLinkProperties(appLinkProvisioningState, null),
+ identity);
+ }
+
+ /// The type used for update operations of the AppLink.
+ /// Resource tags.
+ /// A new instance for mocking.
+ public static AppLinkPatch AppLinkPatch(IDictionary tags = default)
+ {
+ tags ??= new ChangeTrackingDictionary();
+
+ return new AppLinkPatch(tags, additionalBinaryDataProperties: null);
+ }
+
+ /// AppLink Member resource.
+ /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ /// The name of the resource.
+ /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts".
+ /// Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ /// Resource tags.
+ /// The geo-location where the resource lives.
+ /// The resource-specific properties for this resource.
+ /// A new instance for mocking.
+ public static AppLinkMemberData AppLinkMemberData(ResourceIdentifier id = default, string name = default, ResourceType resourceType = default, SystemData systemData = default, IDictionary tags = default, AzureLocation location = default, AppLinkMemberProperties properties = default)
+ {
+ tags ??= new ChangeTrackingDictionary();
+
+ return new AppLinkMemberData(
+ id,
+ name,
+ resourceType,
+ systemData,
+ additionalBinaryDataProperties: null,
+ tags,
+ location,
+ properties);
+ }
+
+ /// Cluster type.
+ /// Resource ID.
+ /// Upgrade profile.
+ /// Metrics endpoint URL.
+ /// Connectivity profile.
+ /// Provisioning state.
+ /// A new instance for mocking.
+ public static AppLinkMemberProperties AppLinkMemberProperties(ClusterType? clusterType = default, ResourceIdentifier metadataResourceId = default, UpgradeProfile upgradeProfile = default, string observabilityMetricsEndpoint = default, ConnectivityProfile connectivityProfile = default, ProvisioningState? provisioningState = default)
+ {
+ return new AppLinkMemberProperties(
+ clusterType,
+ metadataResourceId is null ? default : new Metadata(metadataResourceId, null),
+ upgradeProfile,
+ observabilityMetricsEndpoint is null ? default : new ObservabilityProfile(new MetricsProfile(observabilityMetricsEndpoint, null), null),
+ connectivityProfile,
+ provisioningState,
+ additionalBinaryDataProperties: null);
+ }
+
+ /// The type used for update operations of the AppLinkMember.
+ /// Resource tags.
+ /// The resource-specific properties for this resource.
+ /// A new instance for mocking.
+ public static AppLinkMemberPatch AppLinkMemberPatch(IDictionary tags = default, AppLinkMemberUpdateProperties properties = default)
+ {
+ tags ??= new ChangeTrackingDictionary();
+
+ return new AppLinkMemberPatch(tags, properties, additionalBinaryDataProperties: null);
+ }
+
+ /// AppLinkMember upgrade history.
+ /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ /// The name of the resource.
+ /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts".
+ /// Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ /// The resource-specific properties for this resource.
+ /// A new instance for mocking.
+ public static UpgradeHistory UpgradeHistory(ResourceIdentifier id = default, string name = default, ResourceType resourceType = default, SystemData systemData = default, UpgradeHistoryProperties properties = default)
+ {
+ return new UpgradeHistory(
+ id,
+ name,
+ resourceType,
+ systemData,
+ additionalBinaryDataProperties: null,
+ properties);
+ }
+
+ /// AppLinkMember upgrade history properties.
+ /// Start timestamp.
+ /// End timestamp.
+ /// Upgrade initiator.
+ /// Version upgraded from.
+ /// Version upgraded to.
+ /// Provisioning state.
+ /// A new instance for mocking.
+ public static UpgradeHistoryProperties UpgradeHistoryProperties(DateTimeOffset startTimestamp = default, DateTimeOffset? endTimestamp = default, string initiatedBy = default, string fromVersion = default, string toVersion = default, ProvisioningState? provisioningState = default)
+ {
+ return new UpgradeHistoryProperties(
+ startTimestamp,
+ endTimestamp,
+ initiatedBy,
+ fromVersion,
+ toVersion,
+ provisioningState,
+ additionalBinaryDataProperties: null);
+ }
+
+ /// AppLink available version resource.
+ /// Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ /// The name of the resource.
+ /// The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts".
+ /// Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ /// The resource-specific properties for this resource.
+ /// A new instance for mocking.
+ public static AvailableVersion AvailableVersion(ResourceIdentifier id = default, string name = default, ResourceType resourceType = default, SystemData systemData = default, AvailableVersionProperties properties = default)
+ {
+ return new AvailableVersion(
+ id,
+ name,
+ resourceType,
+ systemData,
+ additionalBinaryDataProperties: null,
+ properties);
+ }
+
+ /// Kubernetes version.
+ /// Release channels.
+ /// Istio versions.
+ /// Provisioning state.
+ /// A new instance for mocking.
+ public static AvailableVersionProperties AvailableVersionProperties(string kubernetesVersion = default, IEnumerable fullyManagedVersionsReleaseChannels = default, IEnumerable selfManagedVersions = default, ProvisioningState? provisioningState = default)
+ {
+ return new AvailableVersionProperties(kubernetesVersion, fullyManagedVersionsReleaseChannels is null ? default : new FullyManagedVersions((fullyManagedVersionsReleaseChannels ?? new ChangeTrackingList()).ToList(), null), selfManagedVersions is null ? default : new SelfManagedVersions((selfManagedVersions ?? new ChangeTrackingList()).ToList(), null), provisioningState, additionalBinaryDataProperties: null);
+ }
+
+ /// Release channel information.
+ /// Release channel.
+ /// Istio version behind release channel.
+ /// A new instance for mocking.
+ public static ReleaseChannelInfo ReleaseChannelInfo(string releaseChannel = default, string version = default)
+ {
+ return new ReleaseChannelInfo(releaseChannel, version, additionalBinaryDataProperties: null);
+ }
+
+ /// Version information.
+ /// Istio version.
+ /// Available upgrades.
+ /// A new instance for mocking.
+ public static VersionInfo VersionInfo(string version = default, IEnumerable upgrades = default)
+ {
+ upgrades ??= new ChangeTrackingList();
+
+ return new VersionInfo(version, upgrades.ToList(), additionalBinaryDataProperties: null);
+ }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinkMembersGetByAppLinkAsyncCollectionResultOfT.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinkMembersGetByAppLinkAsyncCollectionResultOfT.cs
new file mode 100644
index 000000000000..28deaa0782a4
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinkMembersGetByAppLinkAsyncCollectionResultOfT.cs
@@ -0,0 +1,84 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Azure;
+using Azure.Core;
+using Azure.Core.Pipeline;
+using Azure.ResourceManager.AppLink.Models;
+
+namespace Azure.ResourceManager.AppLink
+{
+ internal partial class AppLinkMembersGetByAppLinkAsyncCollectionResultOfT : AsyncPageable
+ {
+ private readonly AppLinkMembers _client;
+ private readonly Guid _subscriptionId;
+ private readonly string _resourceGroupName;
+ private readonly string _appLinkName;
+ private readonly RequestContext _context;
+
+ /// Initializes a new instance of AppLinkMembersGetByAppLinkAsyncCollectionResultOfT, which is used to iterate over the pages of a collection.
+ /// The AppLinkMembers client used to send requests.
+ /// The ID of the target subscription. The value must be an UUID.
+ /// The name of the resource group. The name is case insensitive.
+ /// The name of the AppLink.
+ /// The request options, which can override default behaviors of the client pipeline on a per-call basis.
+ public AppLinkMembersGetByAppLinkAsyncCollectionResultOfT(AppLinkMembers client, Guid subscriptionId, string resourceGroupName, string appLinkName, RequestContext context) : base(context?.CancellationToken ?? default)
+ {
+ _client = client;
+ _subscriptionId = subscriptionId;
+ _resourceGroupName = resourceGroupName;
+ _appLinkName = appLinkName;
+ _context = context;
+ }
+
+ /// Gets the pages of AppLinkMembersGetByAppLinkAsyncCollectionResultOfT as an enumerable collection.
+ /// A continuation token indicating where to resume paging.
+ /// The number of items per page.
+ /// The pages of AppLinkMembersGetByAppLinkAsyncCollectionResultOfT as an enumerable collection.
+ public override async IAsyncEnumerable> AsPages(string continuationToken, int? pageSizeHint)
+ {
+ Uri nextPage = continuationToken != null ? new Uri(continuationToken) : null;
+ while (true)
+ {
+ Response response = await GetNextResponseAsync(pageSizeHint, nextPage).ConfigureAwait(false);
+ if (response is null)
+ {
+ yield break;
+ }
+ AppLinkMemberListResult result = AppLinkMemberListResult.FromResponse(response);
+ yield return Page.FromValues((IReadOnlyList)result.Value, nextPage?.IsAbsoluteUri == true ? nextPage.AbsoluteUri : nextPage?.OriginalString, response);
+ nextPage = result.NextLink;
+ if (nextPage == null)
+ {
+ yield break;
+ }
+ }
+ }
+
+ /// Get next page.
+ /// The number of items per page.
+ /// The next link to use for the next page of results.
+ private async ValueTask GetNextResponseAsync(int? pageSizeHint, Uri nextLink)
+ {
+ HttpMessage message = nextLink != null ? _client.CreateNextGetByAppLinkRequest(nextLink, _subscriptionId, _resourceGroupName, _appLinkName, _context) : _client.CreateGetByAppLinkRequest(_subscriptionId, _resourceGroupName, _appLinkName, _context);
+ using DiagnosticScope scope = _client.ClientDiagnostics.CreateScope("AppLinkMemberCollection.GetAll");
+ scope.Start();
+ try
+ {
+ return await _client.Pipeline.ProcessMessageAsync(message, _context).ConfigureAwait(false);
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinkMembersGetByAppLinkCollectionResultOfT.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinkMembersGetByAppLinkCollectionResultOfT.cs
new file mode 100644
index 000000000000..81d3cb99b1ce
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinkMembersGetByAppLinkCollectionResultOfT.cs
@@ -0,0 +1,83 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using Azure;
+using Azure.Core;
+using Azure.Core.Pipeline;
+using Azure.ResourceManager.AppLink.Models;
+
+namespace Azure.ResourceManager.AppLink
+{
+ internal partial class AppLinkMembersGetByAppLinkCollectionResultOfT : Pageable
+ {
+ private readonly AppLinkMembers _client;
+ private readonly Guid _subscriptionId;
+ private readonly string _resourceGroupName;
+ private readonly string _appLinkName;
+ private readonly RequestContext _context;
+
+ /// Initializes a new instance of AppLinkMembersGetByAppLinkCollectionResultOfT, which is used to iterate over the pages of a collection.
+ /// The AppLinkMembers client used to send requests.
+ /// The ID of the target subscription. The value must be an UUID.
+ /// The name of the resource group. The name is case insensitive.
+ /// The name of the AppLink.
+ /// The request options, which can override default behaviors of the client pipeline on a per-call basis.
+ public AppLinkMembersGetByAppLinkCollectionResultOfT(AppLinkMembers client, Guid subscriptionId, string resourceGroupName, string appLinkName, RequestContext context) : base(context?.CancellationToken ?? default)
+ {
+ _client = client;
+ _subscriptionId = subscriptionId;
+ _resourceGroupName = resourceGroupName;
+ _appLinkName = appLinkName;
+ _context = context;
+ }
+
+ /// Gets the pages of AppLinkMembersGetByAppLinkCollectionResultOfT as an enumerable collection.
+ /// A continuation token indicating where to resume paging.
+ /// The number of items per page.
+ /// The pages of AppLinkMembersGetByAppLinkCollectionResultOfT as an enumerable collection.
+ public override IEnumerable> AsPages(string continuationToken, int? pageSizeHint)
+ {
+ Uri nextPage = continuationToken != null ? new Uri(continuationToken) : null;
+ while (true)
+ {
+ Response response = GetNextResponse(pageSizeHint, nextPage);
+ if (response is null)
+ {
+ yield break;
+ }
+ AppLinkMemberListResult result = AppLinkMemberListResult.FromResponse(response);
+ yield return Page.FromValues((IReadOnlyList)result.Value, nextPage?.IsAbsoluteUri == true ? nextPage.AbsoluteUri : nextPage?.OriginalString, response);
+ nextPage = result.NextLink;
+ if (nextPage == null)
+ {
+ yield break;
+ }
+ }
+ }
+
+ /// Get next page.
+ /// The number of items per page.
+ /// The next link to use for the next page of results.
+ private Response GetNextResponse(int? pageSizeHint, Uri nextLink)
+ {
+ HttpMessage message = nextLink != null ? _client.CreateNextGetByAppLinkRequest(nextLink, _subscriptionId, _resourceGroupName, _appLinkName, _context) : _client.CreateGetByAppLinkRequest(_subscriptionId, _resourceGroupName, _appLinkName, _context);
+ using DiagnosticScope scope = _client.ClientDiagnostics.CreateScope("AppLinkMemberCollection.GetAll");
+ scope.Start();
+ try
+ {
+ return _client.Pipeline.ProcessMessage(message, _context);
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinksGetByResourceGroupAsyncCollectionResultOfT.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinksGetByResourceGroupAsyncCollectionResultOfT.cs
new file mode 100644
index 000000000000..4dc7bc3018d3
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinksGetByResourceGroupAsyncCollectionResultOfT.cs
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Azure;
+using Azure.Core;
+using Azure.Core.Pipeline;
+using Azure.ResourceManager.AppLink.Models;
+
+namespace Azure.ResourceManager.AppLink
+{
+ internal partial class AppLinksGetByResourceGroupAsyncCollectionResultOfT : AsyncPageable
+ {
+ private readonly AppLinks _client;
+ private readonly Guid _subscriptionId;
+ private readonly string _resourceGroupName;
+ private readonly RequestContext _context;
+
+ /// Initializes a new instance of AppLinksGetByResourceGroupAsyncCollectionResultOfT, which is used to iterate over the pages of a collection.
+ /// The AppLinks client used to send requests.
+ /// The ID of the target subscription. The value must be an UUID.
+ /// The name of the resource group. The name is case insensitive.
+ /// The request options, which can override default behaviors of the client pipeline on a per-call basis.
+ public AppLinksGetByResourceGroupAsyncCollectionResultOfT(AppLinks client, Guid subscriptionId, string resourceGroupName, RequestContext context) : base(context?.CancellationToken ?? default)
+ {
+ _client = client;
+ _subscriptionId = subscriptionId;
+ _resourceGroupName = resourceGroupName;
+ _context = context;
+ }
+
+ /// Gets the pages of AppLinksGetByResourceGroupAsyncCollectionResultOfT as an enumerable collection.
+ /// A continuation token indicating where to resume paging.
+ /// The number of items per page.
+ /// The pages of AppLinksGetByResourceGroupAsyncCollectionResultOfT as an enumerable collection.
+ public override async IAsyncEnumerable> AsPages(string continuationToken, int? pageSizeHint)
+ {
+ Uri nextPage = continuationToken != null ? new Uri(continuationToken) : null;
+ while (true)
+ {
+ Response response = await GetNextResponseAsync(pageSizeHint, nextPage).ConfigureAwait(false);
+ if (response is null)
+ {
+ yield break;
+ }
+ AppLinkListResult result = AppLinkListResult.FromResponse(response);
+ yield return Page.FromValues((IReadOnlyList)result.Value, nextPage?.IsAbsoluteUri == true ? nextPage.AbsoluteUri : nextPage?.OriginalString, response);
+ nextPage = result.NextLink;
+ if (nextPage == null)
+ {
+ yield break;
+ }
+ }
+ }
+
+ /// Get next page.
+ /// The number of items per page.
+ /// The next link to use for the next page of results.
+ private async ValueTask GetNextResponseAsync(int? pageSizeHint, Uri nextLink)
+ {
+ HttpMessage message = nextLink != null ? _client.CreateNextGetByResourceGroupRequest(nextLink, _subscriptionId, _resourceGroupName, _context) : _client.CreateGetByResourceGroupRequest(_subscriptionId, _resourceGroupName, _context);
+ using DiagnosticScope scope = _client.ClientDiagnostics.CreateScope("AppLinkCollection.GetAll");
+ scope.Start();
+ try
+ {
+ return await _client.Pipeline.ProcessMessageAsync(message, _context).ConfigureAwait(false);
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinksGetByResourceGroupCollectionResultOfT.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinksGetByResourceGroupCollectionResultOfT.cs
new file mode 100644
index 000000000000..4aeb1ec9be89
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinksGetByResourceGroupCollectionResultOfT.cs
@@ -0,0 +1,80 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using Azure;
+using Azure.Core;
+using Azure.Core.Pipeline;
+using Azure.ResourceManager.AppLink.Models;
+
+namespace Azure.ResourceManager.AppLink
+{
+ internal partial class AppLinksGetByResourceGroupCollectionResultOfT : Pageable
+ {
+ private readonly AppLinks _client;
+ private readonly Guid _subscriptionId;
+ private readonly string _resourceGroupName;
+ private readonly RequestContext _context;
+
+ /// Initializes a new instance of AppLinksGetByResourceGroupCollectionResultOfT, which is used to iterate over the pages of a collection.
+ /// The AppLinks client used to send requests.
+ /// The ID of the target subscription. The value must be an UUID.
+ /// The name of the resource group. The name is case insensitive.
+ /// The request options, which can override default behaviors of the client pipeline on a per-call basis.
+ public AppLinksGetByResourceGroupCollectionResultOfT(AppLinks client, Guid subscriptionId, string resourceGroupName, RequestContext context) : base(context?.CancellationToken ?? default)
+ {
+ _client = client;
+ _subscriptionId = subscriptionId;
+ _resourceGroupName = resourceGroupName;
+ _context = context;
+ }
+
+ /// Gets the pages of AppLinksGetByResourceGroupCollectionResultOfT as an enumerable collection.
+ /// A continuation token indicating where to resume paging.
+ /// The number of items per page.
+ /// The pages of AppLinksGetByResourceGroupCollectionResultOfT as an enumerable collection.
+ public override IEnumerable> AsPages(string continuationToken, int? pageSizeHint)
+ {
+ Uri nextPage = continuationToken != null ? new Uri(continuationToken) : null;
+ while (true)
+ {
+ Response response = GetNextResponse(pageSizeHint, nextPage);
+ if (response is null)
+ {
+ yield break;
+ }
+ AppLinkListResult result = AppLinkListResult.FromResponse(response);
+ yield return Page.FromValues((IReadOnlyList)result.Value, nextPage?.IsAbsoluteUri == true ? nextPage.AbsoluteUri : nextPage?.OriginalString, response);
+ nextPage = result.NextLink;
+ if (nextPage == null)
+ {
+ yield break;
+ }
+ }
+ }
+
+ /// Get next page.
+ /// The number of items per page.
+ /// The next link to use for the next page of results.
+ private Response GetNextResponse(int? pageSizeHint, Uri nextLink)
+ {
+ HttpMessage message = nextLink != null ? _client.CreateNextGetByResourceGroupRequest(nextLink, _subscriptionId, _resourceGroupName, _context) : _client.CreateGetByResourceGroupRequest(_subscriptionId, _resourceGroupName, _context);
+ using DiagnosticScope scope = _client.ClientDiagnostics.CreateScope("AppLinkCollection.GetAll");
+ scope.Start();
+ try
+ {
+ return _client.Pipeline.ProcessMessage(message, _context);
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinksGetBySubscriptionAsyncCollectionResultOfT.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinksGetBySubscriptionAsyncCollectionResultOfT.cs
new file mode 100644
index 000000000000..728fc2bb4fe0
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinksGetBySubscriptionAsyncCollectionResultOfT.cs
@@ -0,0 +1,78 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Azure;
+using Azure.Core;
+using Azure.Core.Pipeline;
+using Azure.ResourceManager.AppLink.Models;
+
+namespace Azure.ResourceManager.AppLink
+{
+ internal partial class AppLinksGetBySubscriptionAsyncCollectionResultOfT : AsyncPageable
+ {
+ private readonly AppLinks _client;
+ private readonly Guid _subscriptionId;
+ private readonly RequestContext _context;
+
+ /// Initializes a new instance of AppLinksGetBySubscriptionAsyncCollectionResultOfT, which is used to iterate over the pages of a collection.
+ /// The AppLinks client used to send requests.
+ /// The ID of the target subscription. The value must be an UUID.
+ /// The request options, which can override default behaviors of the client pipeline on a per-call basis.
+ public AppLinksGetBySubscriptionAsyncCollectionResultOfT(AppLinks client, Guid subscriptionId, RequestContext context) : base(context?.CancellationToken ?? default)
+ {
+ _client = client;
+ _subscriptionId = subscriptionId;
+ _context = context;
+ }
+
+ /// Gets the pages of AppLinksGetBySubscriptionAsyncCollectionResultOfT as an enumerable collection.
+ /// A continuation token indicating where to resume paging.
+ /// The number of items per page.
+ /// The pages of AppLinksGetBySubscriptionAsyncCollectionResultOfT as an enumerable collection.
+ public override async IAsyncEnumerable> AsPages(string continuationToken, int? pageSizeHint)
+ {
+ Uri nextPage = continuationToken != null ? new Uri(continuationToken) : null;
+ while (true)
+ {
+ Response response = await GetNextResponseAsync(pageSizeHint, nextPage).ConfigureAwait(false);
+ if (response is null)
+ {
+ yield break;
+ }
+ AppLinkListResult result = AppLinkListResult.FromResponse(response);
+ yield return Page.FromValues((IReadOnlyList)result.Value, nextPage?.IsAbsoluteUri == true ? nextPage.AbsoluteUri : nextPage?.OriginalString, response);
+ nextPage = result.NextLink;
+ if (nextPage == null)
+ {
+ yield break;
+ }
+ }
+ }
+
+ /// Get next page.
+ /// The number of items per page.
+ /// The next link to use for the next page of results.
+ private async ValueTask GetNextResponseAsync(int? pageSizeHint, Uri nextLink)
+ {
+ HttpMessage message = nextLink != null ? _client.CreateNextGetBySubscriptionRequest(nextLink, _subscriptionId, _context) : _client.CreateGetBySubscriptionRequest(_subscriptionId, _context);
+ using DiagnosticScope scope = _client.ClientDiagnostics.CreateScope("MockableAppLinkSubscriptionResource.GetAppLinks");
+ scope.Start();
+ try
+ {
+ return await _client.Pipeline.ProcessMessageAsync(message, _context).ConfigureAwait(false);
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinksGetBySubscriptionCollectionResultOfT.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinksGetBySubscriptionCollectionResultOfT.cs
new file mode 100644
index 000000000000..2b390ea467f3
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AppLinksGetBySubscriptionCollectionResultOfT.cs
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using Azure;
+using Azure.Core;
+using Azure.Core.Pipeline;
+using Azure.ResourceManager.AppLink.Models;
+
+namespace Azure.ResourceManager.AppLink
+{
+ internal partial class AppLinksGetBySubscriptionCollectionResultOfT : Pageable
+ {
+ private readonly AppLinks _client;
+ private readonly Guid _subscriptionId;
+ private readonly RequestContext _context;
+
+ /// Initializes a new instance of AppLinksGetBySubscriptionCollectionResultOfT, which is used to iterate over the pages of a collection.
+ /// The AppLinks client used to send requests.
+ /// The ID of the target subscription. The value must be an UUID.
+ /// The request options, which can override default behaviors of the client pipeline on a per-call basis.
+ public AppLinksGetBySubscriptionCollectionResultOfT(AppLinks client, Guid subscriptionId, RequestContext context) : base(context?.CancellationToken ?? default)
+ {
+ _client = client;
+ _subscriptionId = subscriptionId;
+ _context = context;
+ }
+
+ /// Gets the pages of AppLinksGetBySubscriptionCollectionResultOfT as an enumerable collection.
+ /// A continuation token indicating where to resume paging.
+ /// The number of items per page.
+ /// The pages of AppLinksGetBySubscriptionCollectionResultOfT as an enumerable collection.
+ public override IEnumerable> AsPages(string continuationToken, int? pageSizeHint)
+ {
+ Uri nextPage = continuationToken != null ? new Uri(continuationToken) : null;
+ while (true)
+ {
+ Response response = GetNextResponse(pageSizeHint, nextPage);
+ if (response is null)
+ {
+ yield break;
+ }
+ AppLinkListResult result = AppLinkListResult.FromResponse(response);
+ yield return Page.FromValues((IReadOnlyList)result.Value, nextPage?.IsAbsoluteUri == true ? nextPage.AbsoluteUri : nextPage?.OriginalString, response);
+ nextPage = result.NextLink;
+ if (nextPage == null)
+ {
+ yield break;
+ }
+ }
+ }
+
+ /// Get next page.
+ /// The number of items per page.
+ /// The next link to use for the next page of results.
+ private Response GetNextResponse(int? pageSizeHint, Uri nextLink)
+ {
+ HttpMessage message = nextLink != null ? _client.CreateNextGetBySubscriptionRequest(nextLink, _subscriptionId, _context) : _client.CreateGetBySubscriptionRequest(_subscriptionId, _context);
+ using DiagnosticScope scope = _client.ClientDiagnostics.CreateScope("MockableAppLinkSubscriptionResource.GetAppLinks");
+ scope.Start();
+ try
+ {
+ return _client.Pipeline.ProcessMessage(message, _context);
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+ }
+}
diff --git a/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AvailableVersionsGetByLocationAsyncCollectionResultOfT.cs b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AvailableVersionsGetByLocationAsyncCollectionResultOfT.cs
new file mode 100644
index 000000000000..a618f5090acc
--- /dev/null
+++ b/sdk/applink/Azure.ResourceManager.AppLink/src/Generated/CollectionResults/AvailableVersionsGetByLocationAsyncCollectionResultOfT.cs
@@ -0,0 +1,84 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Azure;
+using Azure.Core;
+using Azure.Core.Pipeline;
+using Azure.ResourceManager.AppLink.Models;
+
+namespace Azure.ResourceManager.AppLink
+{
+ internal partial class AvailableVersionsGetByLocationAsyncCollectionResultOfT : AsyncPageable
+ {
+ private readonly AvailableVersions _client;
+ private readonly Guid _subscriptionId;
+ private readonly AzureLocation _location;
+ private readonly string _kubernetesVersion;
+ private readonly RequestContext _context;
+
+ /// Initializes a new instance of AvailableVersionsGetByLocationAsyncCollectionResultOfT, which is used to iterate over the pages of a collection.
+ /// The AvailableVersions client used to send requests.
+ /// The ID of the target subscription. The value must be an UUID.
+ /// The name of the Azure region.
+ /// Kubernetes version to filter profiles.
+ /// The request options, which can override default behaviors of the client pipeline on a per-call basis.
+ public AvailableVersionsGetByLocationAsyncCollectionResultOfT(AvailableVersions client, Guid subscriptionId, AzureLocation location, string kubernetesVersion, RequestContext context) : base(context?.CancellationToken ?? default)
+ {
+ _client = client;
+ _subscriptionId = subscriptionId;
+ _location = location;
+ _kubernetesVersion = kubernetesVersion;
+ _context = context;
+ }
+
+ /// Gets the pages of AvailableVersionsGetByLocationAsyncCollectionResultOfT as an enumerable collection.
+ /// A continuation token indicating where to resume paging.
+ /// The number of items per page.
+ /// The pages of AvailableVersionsGetByLocationAsyncCollectionResultOfT as an enumerable collection.
+ public override async IAsyncEnumerable> AsPages(string continuationToken, int? pageSizeHint)
+ {
+ Uri nextPage = continuationToken != null ? new Uri(continuationToken) : null;
+ while (true)
+ {
+ Response response = await GetNextResponseAsync(pageSizeHint, nextPage).ConfigureAwait(false);
+ if (response is null)
+ {
+ yield break;
+ }
+ AvailableVersionListResult result = AvailableVersionListResult.FromResponse(response);
+ yield return Page.FromValues((IReadOnlyList