示例#1
0
        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;
            }
        }
示例#2
0
        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));
            }
        }
示例#3
0
        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;
            }
        }
示例#8
0
        /// <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);
     }
 }