示例#1
0
        public AzureDedicatedCircuit SetAzureDedicatedCircuitProperties(Guid serviceKey, UInt32?bandwidth, CircuitSku?sku)
        {
            var updateParams = new DedicatedCircuitUpdateParameters()
            {
            };

            if (bandwidth.HasValue)
            {
                updateParams.Bandwidth = bandwidth.Value.ToString();
            }

            if (sku.HasValue)
            {
                updateParams.Sku = sku.Value.ToString();
            }

            var result = Client.DedicatedCircuits.Update(serviceKey.ToString(), updateParams);

            if (result.HttpStatusCode.Equals(HttpStatusCode.OK))
            {
                return(GetAzureDedicatedCircuit(serviceKey));
            }
            else
            {
                throw new Exception(result.Error.ToString());
            }
        }
示例#2
0
        public void CanCreateGetListUpdateAndDeleteDedicatedCircuit()
        {
            using (var undoContext = UndoContext.Current)
            {
                undoContext.Start();
                var expressRouteClient = GetCustomerExpressRouteManagementClient();

                var providers    = expressRouteClient.DedicatedCircuitServiceProviders.List();
                var providerName = GetProviderName();
                var provider     = providers.Single(p => p.Name.Equals(providerName, StringComparison.CurrentCultureIgnoreCase));
                var location     = provider.DedicatedCircuitLocations.Split(',').First();
                var bandwidth    = provider.DedicatedCircuitBandwidths.First().Bandwidth;
                var circuitName  = TestUtilities.GenerateName("circuit");
                var newParams    = new DedicatedCircuitNewParameters()
                {
                    Bandwidth           = bandwidth,
                    CircuitName         = circuitName,
                    Location            = location,
                    ServiceProviderName = provider.Name,
                    BillingType         = BillingType.UnlimitedData
                };
                var newResponse = expressRouteClient.DedicatedCircuits.New(newParams);
                TestUtilities.ValidateOperationResponse(newResponse);
                Guid serviceKey;
                Assert.True(Guid.TryParse(newResponse.Data, out serviceKey));
                DedicatedCircuitGetResponse createdCircuit = expressRouteClient.DedicatedCircuits.Get(serviceKey.ToString());
                Assert.Equal(createdCircuit.DedicatedCircuit.CircuitName, circuitName, StringComparer.CurrentCultureIgnoreCase);
                Assert.Equal(createdCircuit.DedicatedCircuit.ServiceProviderName, provider.Name, StringComparer.CurrentCultureIgnoreCase);
                Assert.Equal(createdCircuit.DedicatedCircuit.Bandwidth, bandwidth);
                Assert.Equal(createdCircuit.DedicatedCircuit.Location, location, StringComparer.CurrentCultureIgnoreCase);
                Assert.Equal(createdCircuit.DedicatedCircuit.Status, DedicatedCircuitState.Enabled);
                Assert.Equal(createdCircuit.DedicatedCircuit.ServiceProviderProvisioningState, ProviderProvisioningState.NotProvisioned);
                Assert.Equal(createdCircuit.DedicatedCircuit.BillingType, BillingType.UnlimitedData.ToString());

                DedicatedCircuitListResponse circuits = expressRouteClient.DedicatedCircuits.List();
                TestUtilities.ValidateOperationResponse(circuits);
                Assert.NotEmpty(circuits.DedicatedCircuits);
                var circuit =
                    circuits.DedicatedCircuits.FirstOrDefault(c => c.CircuitName.Equals(circuitName, StringComparison.CurrentCultureIgnoreCase));
                Assert.NotNull(circuit);
                Assert.Equal(serviceKey.ToString(), circuit.ServiceKey);
                Assert.Equal(location, circuit.Location, StringComparer.CurrentCultureIgnoreCase);
                Assert.Equal(provider.Name, circuit.ServiceProviderName, StringComparer.CurrentCultureIgnoreCase);
                Assert.Equal(circuit.ServiceProviderProvisioningState, ProviderProvisioningState.NotProvisioned);
                Assert.Equal(bandwidth, circuit.Bandwidth);
                Assert.Equal(circuit.Status, DedicatedCircuitState.Enabled);

                var updateParams = new DedicatedCircuitUpdateParameters()
                {
                    Bandwidth = provider.DedicatedCircuitBandwidths.Last().Bandwidth.ToString()
                };
                var updateResponse = expressRouteClient.DedicatedCircuits.Update(serviceKey.ToString(), updateParams);
                TestUtilities.ValidateOperationResponse(updateResponse);

                var updatedCircuit = expressRouteClient.DedicatedCircuits.Get(serviceKey.ToString());
                TestUtilities.ValidateOperationResponse(updatedCircuit);
                Assert.Equal(updatedCircuit.DedicatedCircuit.Bandwidth.ToString(), updateParams.Bandwidth);
            }
        }
        public void CanCreateGetListUpdateAndDeleteDedicatedCircuit()
        {
            using (var undoContext = UndoContext.Current)
            {
                undoContext.Start();
                var expressRouteClient = GetCustomerExpressRouteManagementClient();
                var provider = expressRouteClient.DedicatedCircuitServiceProviders.List().Single(p => p.Name.Equals(GetProviderName(), StringComparison.CurrentCultureIgnoreCase));
                var location = provider.DedicatedCircuitLocations.Split(',').First();
                var bandwidth = provider.DedicatedCircuitBandwidths.First().Bandwidth;
                var circuitName = TestUtilities.GenerateName("circuit");
                var newParams = new DedicatedCircuitNewParameters()
                    {
                        Bandwidth = bandwidth,
                        CircuitName = circuitName,
                        Location = location,
                        ServiceProviderName = provider.Name,
                       BillingType = BillingType.ServiceProviderType
                    };
                var newResponse = expressRouteClient.DedicatedCircuits.New(newParams);
                TestUtilities.ValidateOperationResponse(newResponse);
                Guid serviceKey;
                Assert.True(Guid.TryParse(newResponse.Data, out serviceKey));
                DedicatedCircuitGetResponse createdCircuit = expressRouteClient.DedicatedCircuits.Get(serviceKey.ToString());
                Assert.Equal(createdCircuit.DedicatedCircuit.CircuitName, circuitName, StringComparer.CurrentCultureIgnoreCase);
                Assert.Equal(createdCircuit.DedicatedCircuit.ServiceProviderName, provider.Name, StringComparer.CurrentCultureIgnoreCase);
                Assert.Equal(createdCircuit.DedicatedCircuit.Bandwidth, bandwidth);
                Assert.Equal(createdCircuit.DedicatedCircuit.Location, location, StringComparer.CurrentCultureIgnoreCase);
                Assert.Equal(createdCircuit.DedicatedCircuit.Status, DedicatedCircuitState.Enabled);
                Assert.Equal(createdCircuit.DedicatedCircuit.ServiceProviderProvisioningState, ProviderProvisioningState.NotProvisioned);
                Assert.Equal(createdCircuit.DedicatedCircuit.BillingType, BillingType.ServiceProviderType);

                DedicatedCircuitListResponse circuits = expressRouteClient.DedicatedCircuits.List();
                TestUtilities.ValidateOperationResponse(circuits);
                Assert.NotEmpty(circuits.DedicatedCircuits);
                var circuit =
                    circuits.DedicatedCircuits.FirstOrDefault(c => c.CircuitName.Equals(circuitName, StringComparison.CurrentCultureIgnoreCase));
                Assert.NotNull(circuit);
                Assert.Equal(serviceKey.ToString(), circuit.ServiceKey);
                Assert.Equal(location, circuit.Location, StringComparer.CurrentCultureIgnoreCase);
                Assert.Equal(provider.Name, circuit.ServiceProviderName, StringComparer.CurrentCultureIgnoreCase);
                Assert.Equal(circuit.ServiceProviderProvisioningState, ProviderProvisioningState.NotProvisioned);
                Assert.Equal(bandwidth, circuit.Bandwidth);
                Assert.Equal(circuit.Status, DedicatedCircuitState.Enabled);

                var updateParams = new DedicatedCircuitUpdateParameters()
                    {
                        Bandwidth = provider.DedicatedCircuitBandwidths.Last().Bandwidth.ToString()
                    };
                var updateResponse = expressRouteClient.DedicatedCircuits.Update(serviceKey.ToString(), updateParams);
                TestUtilities.ValidateOperationResponse(updateResponse);

                var updatedCircuit = expressRouteClient.DedicatedCircuits.Get(serviceKey.ToString());
                TestUtilities.ValidateOperationResponse(updatedCircuit);
                Assert.Equal(updatedCircuit.DedicatedCircuit.Bandwidth.ToString(), updateParams.Bandwidth);

            }

        }
 /// <summary>
 /// The Update Dedicated Circuit operation updates an existing
 /// dedicated circuit.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitOperations.
 /// </param>
 /// <param name='serviceKey'>
 /// Required. Service Key of the circuit being updated
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters supplied to the update dedicated circuit
 /// operation.
 /// </param>
 /// <returns>
 /// The response body contains the status of the specified asynchronous
 /// operation, indicating whether it has succeeded, is inprogress, or
 /// has failed. Note that this status is distinct from the HTTP status
 /// code returned for the Get Operation Status operation itself.  If
 /// the asynchronous operation succeeded, the response body includes
 /// the HTTP status code for the successful request.  If the
 /// asynchronous operation failed, the response body includes the HTTP
 /// status code for the failed request, and also includes error
 /// information regarding the failure.
 /// </returns>
 public static Task <ExpressRouteOperationStatusResponse> UpdateAsync(this IDedicatedCircuitOperations operations, string serviceKey, DedicatedCircuitUpdateParameters parameters)
 {
     return(operations.UpdateAsync(serviceKey, parameters, CancellationToken.None));
 }
 /// <summary>
 /// The Update Dedicated Circuit operation updates an existing
 /// dedicated circuit.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitOperations.
 /// </param>
 /// <param name='serviceKey'>
 /// Required. Service Key of the circuit being updated
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters supplied to the update dedicated circuit
 /// operation.
 /// </param>
 /// <returns>
 /// The response body contains the status of the specified asynchronous
 /// operation, indicating whether it has succeeded, is inprogress, or
 /// has failed. Note that this status is distinct from the HTTP status
 /// code returned for the Get Operation Status operation itself.  If
 /// the asynchronous operation succeeded, the response body includes
 /// the HTTP status code for the successful request.  If the
 /// asynchronous operation failed, the response body includes the HTTP
 /// status code for the failed request, and also includes error
 /// information regarding the failure.
 /// </returns>
 public static ExpressRouteOperationStatusResponse Update(this IDedicatedCircuitOperations operations, string serviceKey, DedicatedCircuitUpdateParameters parameters)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IDedicatedCircuitOperations)s).UpdateAsync(serviceKey, parameters);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }