public virtual ServerDnsAliasAcquireOperation Acquire(ServerDnsAliasAcquisition parameters, bool waitForCompletion = true, CancellationToken cancellationToken = default) { if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } using var scope = _clientDiagnostics.CreateScope("ServerDnsAlias.Acquire"); scope.Start(); try { var response = _serverDnsAliasesRestClient.Acquire(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, parameters, cancellationToken); var operation = new ServerDnsAliasAcquireOperation(_clientDiagnostics, Pipeline, _serverDnsAliasesRestClient.CreateAcquireRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, parameters).Request, response); if (waitForCompletion) { operation.WaitForCompletion(cancellationToken); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }
public void TestCrudServerDnsAlias() { using (SqlManagementTestContext context = new SqlManagementTestContext(this)) { ResourceGroup resourceGroup = context.CreateResourceGroup(); SqlManagementClient sqlClient = context.GetClient <SqlManagementClient>(); // Create primary and partner servers // var sourceServer = context.CreateServer(resourceGroup); var targetServer = context.CreateServer(resourceGroup, location: TestEnvironmentUtilities.DefaultSecondaryLocationId); string serverDnsAliasName = SqlManagementTestUtilities.GenerateName(); // Create server dns alias pointing to sourceServer // var serverDnsAlias = sqlClient.ServerDnsAliases.CreateOrUpdate(resourceGroup.Name, sourceServer.Name, serverDnsAliasName); ValidateServerDnsAlias(serverDnsAlias, serverDnsAliasName); // List server dns aliases on source server and verify // var serverDnsAliases = sqlClient.ServerDnsAliases.ListByServer(resourceGroup.Name, sourceServer.Name); Assert.NotNull(serverDnsAliases); Assert.Equal(1, serverDnsAliases.Count()); Assert.Equal(serverDnsAliasName, serverDnsAliases.Select(a => a.Name).First()); // Update server to which alias is pointing // var serverDnsAliasAcquisitonParams = new ServerDnsAliasAcquisition(String.Format( "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Sql/servers/{2}/dnsAliases/{3}", sqlClient.SubscriptionId, resourceGroup.Name, sourceServer.Name, serverDnsAliasName)); sqlClient.ServerDnsAliases.Acquire(resourceGroup.Name, targetServer.Name, serverDnsAliasName, serverDnsAliasAcquisitonParams); Assert.Throws <Microsoft.Rest.Azure.CloudException>(() => sqlClient.ServerDnsAliases.Get(resourceGroup.Name, sourceServer.Name, serverDnsAliasName)); // Delete server dns alias and verify it got dropped // sqlClient.ServerDnsAliases.Delete(resourceGroup.Name, targetServer.Name, serverDnsAliasName); Assert.Throws <Microsoft.Rest.Azure.CloudException>(() => sqlClient.ServerDnsAliases.Get(resourceGroup.Name, targetServer.Name, serverDnsAliasName)); } }
public virtual ArmOperation <ServerDnsAlias> Acquire(WaitUntil waitUntil, ServerDnsAliasAcquisition parameters, CancellationToken cancellationToken = default) { Argument.AssertNotNull(parameters, nameof(parameters)); using var scope = _serverDnsAliasClientDiagnostics.CreateScope("ServerDnsAlias.Acquire"); scope.Start(); try { var response = _serverDnsAliasRestClient.Acquire(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, parameters, cancellationToken); var operation = new SqlArmOperation <ServerDnsAlias>(new ServerDnsAliasOperationSource(Client), _serverDnsAliasClientDiagnostics, Pipeline, _serverDnsAliasRestClient.CreateAcquireRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Name, Id.Name, parameters).Request, response, OperationFinalStateVia.Location); if (waitUntil == WaitUntil.Completed) { operation.WaitForCompletion(cancellationToken); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }
/// <summary> /// Acquires server DNS alias from another server. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group that contains the resource. You can obtain /// this value from the Azure Resource Manager API or the portal. /// </param> /// <param name='serverName'> /// The name of the server that the alias is pointing to. /// </param> /// <param name='dnsAliasName'> /// The name of the server dns alias. /// </param> /// <param name='parameters'> /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task BeginAcquireAsync(this IServerDnsAliasesOperations operations, string resourceGroupName, string serverName, string dnsAliasName, ServerDnsAliasAcquisition parameters, CancellationToken cancellationToken = default(CancellationToken)) { (await operations.BeginAcquireWithHttpMessagesAsync(resourceGroupName, serverName, dnsAliasName, parameters, null, cancellationToken).ConfigureAwait(false)).Dispose(); }
/// <summary> /// Acquires server DNS alias from another server. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group that contains the resource. You can obtain /// this value from the Azure Resource Manager API or the portal. /// </param> /// <param name='serverName'> /// The name of the server that the alias is pointing to. /// </param> /// <param name='dnsAliasName'> /// The name of the server dns alias. /// </param> /// <param name='parameters'> /// </param> public static void BeginAcquire(this IServerDnsAliasesOperations operations, string resourceGroupName, string serverName, string dnsAliasName, ServerDnsAliasAcquisition parameters) { operations.BeginAcquireAsync(resourceGroupName, serverName, dnsAliasName, parameters).GetAwaiter().GetResult(); }
/// <summary> /// Acquires an Azure Sql Server Dns Alias from one server and assign it to another /// </summary> public void Acquire(string resourceGroupName, string serverName, string serverDnsAliasName, ServerDnsAliasAcquisition parameters) { GetCurrentSqlClient().ServerDnsAliases.Acquire(resourceGroupName, serverName, serverDnsAliasName, parameters); }
public virtual ServerDnsAliasesAcquireOperation StartAcquire(string resourceGroupName, string serverName, string dnsAliasName, ServerDnsAliasAcquisition parameters, CancellationToken cancellationToken = default) { if (resourceGroupName == null) { throw new ArgumentNullException(nameof(resourceGroupName)); } if (serverName == null) { throw new ArgumentNullException(nameof(serverName)); } if (dnsAliasName == null) { throw new ArgumentNullException(nameof(dnsAliasName)); } if (parameters == null) { throw new ArgumentNullException(nameof(parameters)); } using var scope = _clientDiagnostics.CreateScope("ServerDnsAliasesOperations.StartAcquire"); scope.Start(); try { var originalResponse = RestClient.Acquire(resourceGroupName, serverName, dnsAliasName, parameters, cancellationToken); return(new ServerDnsAliasesAcquireOperation(_clientDiagnostics, _pipeline, RestClient.CreateAcquireRequest(resourceGroupName, serverName, dnsAliasName, parameters).Request, originalResponse)); } catch (Exception e) { scope.Failed(e); throw; } }
/// <summary> /// Acquire server dns alias from one server and points it to another /// </summary> public AzureSqlServerDnsAliasModel AcquireServerDnsAlias(string resourceGroup, string serverName, string serverDNSAliasName, ServerDnsAliasAcquisition parameters) { Communicator.Acquire(resourceGroup, serverName, serverDNSAliasName, parameters); return(null); }
/// <summary> /// Acquires server DNS alias from another server. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group that contains the resource. You can obtain /// this value from the Azure Resource Manager API or the portal. /// </param> /// <param name='serverName'> /// The name of the server that the alias is pointing to. /// </param> /// <param name='dnsAliasName'> /// The name of the server dns alias. /// </param> /// <param name='parameters'> /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <ServerDnsAlias> BeginAcquireAsync(this IServerDnsAliasesOperations operations, string resourceGroupName, string serverName, string dnsAliasName, ServerDnsAliasAcquisition parameters, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.BeginAcquireWithHttpMessagesAsync(resourceGroupName, serverName, dnsAliasName, parameters, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }