diff --git a/src/ExpressRouteManagement/ExpressRouteManagement.csproj b/src/ExpressRouteManagement/ExpressRouteManagement.csproj index e31c8622fdfa..faf98bb0d9dc 100644 --- a/src/ExpressRouteManagement/ExpressRouteManagement.csproj +++ b/src/ExpressRouteManagement/ExpressRouteManagement.csproj @@ -19,10 +19,16 @@ Code + + + + + + @@ -31,16 +37,23 @@ + + + + + + + @@ -52,6 +65,14 @@ + + + + + + + + @@ -74,6 +95,7 @@ + @@ -89,9 +111,6 @@ - - - @@ -105,4 +124,7 @@ + + + \ No newline at end of file diff --git a/src/ExpressRouteManagement/Generated/AuthorizedDedicatedCircuitOperations.cs b/src/ExpressRouteManagement/Generated/AuthorizedDedicatedCircuitOperations.cs new file mode 100644 index 000000000000..bf494ac62cfe --- /dev/null +++ b/src/ExpressRouteManagement/Generated/AuthorizedDedicatedCircuitOperations.cs @@ -0,0 +1,449 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using System.Xml.Linq; +using Microsoft.WindowsAzure; +using Microsoft.WindowsAzure.Common; +using Microsoft.WindowsAzure.Common.Internals; +using Microsoft.WindowsAzure.Management.ExpressRoute; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute +{ + internal partial class AuthorizedDedicatedCircuitOperations : IServiceOperations, Microsoft.WindowsAzure.Management.ExpressRoute.IAuthorizedDedicatedCircuitOperations + { + /// + /// Initializes a new instance of the + /// AuthorizedDedicatedCircuitOperations class. + /// + /// + /// Reference to the service client. + /// + internal AuthorizedDedicatedCircuitOperations(ExpressRouteManagementClient client) + { + this._client = client; + } + + private ExpressRouteManagementClient _client; + + /// + /// Gets a reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.ExpressRouteManagementClient. + /// + public ExpressRouteManagementClient Client + { + get { return this._client; } + } + + /// + /// The Get Dedicated Circuit operation retrieves the specified + /// authorized dedicated circuit. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Cancellation token. + /// + /// + /// The Get Authorized Dedicated Circuit operation response. + /// + public async System.Threading.Tasks.Task GetAsync(string serviceKey, CancellationToken cancellationToken) + { + // Validate + if (serviceKey == null) + { + throw new ArgumentNullException("serviceKey"); + } + + // Tracing + bool shouldTrace = CloudContext.Configuration.Tracing.IsEnabled; + string invocationId = null; + if (shouldTrace) + { + invocationId = Tracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("serviceKey", serviceKey); + Tracing.Enter(invocationId, this, "GetAsync", tracingParameters); + } + + // Construct URL + string url = "/" + (this.Client.Credentials.SubscriptionId != null ? this.Client.Credentials.SubscriptionId.Trim() : "") + "/services/networking/authorizeddedicatedcircuits/" + serviceKey.Trim() + "?api-version=1.0"; + string baseUrl = this.Client.BaseUri.AbsoluteUri; + // Trim '/' character from the end of baseUrl and beginning of url. + if (baseUrl[baseUrl.Length - 1] == '/') + { + baseUrl = baseUrl.Substring(0, baseUrl.Length - 1); + } + if (url[0] == '/') + { + url = url.Substring(1); + } + url = baseUrl + "/" + url; + url = url.Replace(" ", "%20"); + + // Create HTTP transport objects + HttpRequestMessage httpRequest = null; + try + { + httpRequest = new HttpRequestMessage(); + httpRequest.Method = HttpMethod.Get; + httpRequest.RequestUri = new Uri(url); + + // Set Headers + httpRequest.Headers.Add("x-ms-version", "2011-10-01"); + + // Set Credentials + cancellationToken.ThrowIfCancellationRequested(); + await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false); + + // Send Request + HttpResponseMessage httpResponse = null; + try + { + if (shouldTrace) + { + Tracing.SendRequest(invocationId, httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false); + if (shouldTrace) + { + Tracing.ReceiveResponse(invocationId, httpResponse); + } + HttpStatusCode statusCode = httpResponse.StatusCode; + if (statusCode != HttpStatusCode.OK) + { + cancellationToken.ThrowIfCancellationRequested(); + CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false)); + if (shouldTrace) + { + Tracing.Error(invocationId, ex); + } + throw ex; + } + + // Create Result + AuthorizedDedicatedCircuitGetResponse result = null; + // Deserialize Response + cancellationToken.ThrowIfCancellationRequested(); + string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + result = new AuthorizedDedicatedCircuitGetResponse(); + XDocument responseDoc = XDocument.Parse(responseContent); + + XElement authorizedDedicatedCircuitElement = responseDoc.Element(XName.Get("AuthorizedDedicatedCircuit", "http://schemas.microsoft.com/windowsazure")); + if (authorizedDedicatedCircuitElement != null) + { + AzureAuthorizedDedicatedCircuit authorizedDedicatedCircuitInstance = new AzureAuthorizedDedicatedCircuit(); + result.AuthorizedDedicatedCircuit = authorizedDedicatedCircuitInstance; + + XElement bandwidthElement = authorizedDedicatedCircuitElement.Element(XName.Get("Bandwidth", "http://schemas.microsoft.com/windowsazure")); + if (bandwidthElement != null) + { + uint bandwidthInstance = uint.Parse(bandwidthElement.Value, CultureInfo.InvariantCulture); + authorizedDedicatedCircuitInstance.Bandwidth = bandwidthInstance; + } + + XElement circuitNameElement = authorizedDedicatedCircuitElement.Element(XName.Get("CircuitName", "http://schemas.microsoft.com/windowsazure")); + if (circuitNameElement != null) + { + string circuitNameInstance = circuitNameElement.Value; + authorizedDedicatedCircuitInstance.CircuitName = circuitNameInstance; + } + + XElement locationElement = authorizedDedicatedCircuitElement.Element(XName.Get("Location", "http://schemas.microsoft.com/windowsazure")); + if (locationElement != null) + { + string locationInstance = locationElement.Value; + authorizedDedicatedCircuitInstance.Location = locationInstance; + } + + XElement maximumAllowedLinksElement = authorizedDedicatedCircuitElement.Element(XName.Get("MaximumAllowedLinks", "http://schemas.microsoft.com/windowsazure")); + if (maximumAllowedLinksElement != null) + { + int maximumAllowedLinksInstance = int.Parse(maximumAllowedLinksElement.Value, CultureInfo.InvariantCulture); + authorizedDedicatedCircuitInstance.MaximumAllowedLinks = maximumAllowedLinksInstance; + } + + XElement serviceKeyElement = authorizedDedicatedCircuitElement.Element(XName.Get("ServiceKey", "http://schemas.microsoft.com/windowsazure")); + if (serviceKeyElement != null) + { + string serviceKeyInstance = serviceKeyElement.Value; + authorizedDedicatedCircuitInstance.ServiceKey = serviceKeyInstance; + } + + XElement serviceProviderNameElement = authorizedDedicatedCircuitElement.Element(XName.Get("ServiceProviderName", "http://schemas.microsoft.com/windowsazure")); + if (serviceProviderNameElement != null) + { + string serviceProviderNameInstance = serviceProviderNameElement.Value; + authorizedDedicatedCircuitInstance.ServiceProviderName = serviceProviderNameInstance; + } + + XElement serviceProviderProvisioningStateElement = authorizedDedicatedCircuitElement.Element(XName.Get("ServiceProviderProvisioningState", "http://schemas.microsoft.com/windowsazure")); + if (serviceProviderProvisioningStateElement != null) + { + ProviderProvisioningState serviceProviderProvisioningStateInstance = ((ProviderProvisioningState)Enum.Parse(typeof(ProviderProvisioningState), serviceProviderProvisioningStateElement.Value, true)); + authorizedDedicatedCircuitInstance.ServiceProviderProvisioningState = serviceProviderProvisioningStateInstance; + } + + XElement statusElement = authorizedDedicatedCircuitElement.Element(XName.Get("Status", "http://schemas.microsoft.com/windowsazure")); + if (statusElement != null) + { + DedicatedCircuitState statusInstance = ((DedicatedCircuitState)Enum.Parse(typeof(DedicatedCircuitState), statusElement.Value, true)); + authorizedDedicatedCircuitInstance.Status = statusInstance; + } + + XElement usedLinksElement = authorizedDedicatedCircuitElement.Element(XName.Get("UsedLinks", "http://schemas.microsoft.com/windowsazure")); + if (usedLinksElement != null) + { + int usedLinksInstance = int.Parse(usedLinksElement.Value, CultureInfo.InvariantCulture); + authorizedDedicatedCircuitInstance.UsedLinks = usedLinksInstance; + } + } + + result.StatusCode = statusCode; + if (httpResponse.Headers.Contains("x-ms-request-id")) + { + result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + + if (shouldTrace) + { + Tracing.Exit(invocationId, result); + } + return result; + } + finally + { + if (httpResponse != null) + { + httpResponse.Dispose(); + } + } + } + finally + { + if (httpRequest != null) + { + httpRequest.Dispose(); + } + } + } + + /// + /// The List Dedicated Circuit operation retrieves a list of dedicated + /// circuits owned by the customer. + /// + /// + /// Cancellation token. + /// + /// + /// The List Authorized Dedicated Circuit operation response. + /// + public async System.Threading.Tasks.Task ListAsync(CancellationToken cancellationToken) + { + // Validate + + // Tracing + bool shouldTrace = CloudContext.Configuration.Tracing.IsEnabled; + string invocationId = null; + if (shouldTrace) + { + invocationId = Tracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + Tracing.Enter(invocationId, this, "ListAsync", tracingParameters); + } + + // Construct URL + string url = "/" + (this.Client.Credentials.SubscriptionId != null ? this.Client.Credentials.SubscriptionId.Trim() : "") + "/services/networking/authorizeddedicatedcircuits?api-version=1.0"; + string baseUrl = this.Client.BaseUri.AbsoluteUri; + // Trim '/' character from the end of baseUrl and beginning of url. + if (baseUrl[baseUrl.Length - 1] == '/') + { + baseUrl = baseUrl.Substring(0, baseUrl.Length - 1); + } + if (url[0] == '/') + { + url = url.Substring(1); + } + url = baseUrl + "/" + url; + url = url.Replace(" ", "%20"); + + // Create HTTP transport objects + HttpRequestMessage httpRequest = null; + try + { + httpRequest = new HttpRequestMessage(); + httpRequest.Method = HttpMethod.Get; + httpRequest.RequestUri = new Uri(url); + + // Set Headers + httpRequest.Headers.Add("x-ms-version", "2011-10-01"); + + // Set Credentials + cancellationToken.ThrowIfCancellationRequested(); + await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false); + + // Send Request + HttpResponseMessage httpResponse = null; + try + { + if (shouldTrace) + { + Tracing.SendRequest(invocationId, httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false); + if (shouldTrace) + { + Tracing.ReceiveResponse(invocationId, httpResponse); + } + HttpStatusCode statusCode = httpResponse.StatusCode; + if (statusCode != HttpStatusCode.OK) + { + cancellationToken.ThrowIfCancellationRequested(); + CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false)); + if (shouldTrace) + { + Tracing.Error(invocationId, ex); + } + throw ex; + } + + // Create Result + AuthorizedDedicatedCircuitListResponse result = null; + // Deserialize Response + cancellationToken.ThrowIfCancellationRequested(); + string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + result = new AuthorizedDedicatedCircuitListResponse(); + XDocument responseDoc = XDocument.Parse(responseContent); + + XElement authorizedDedicatedCircuitsSequenceElement = responseDoc.Element(XName.Get("AuthorizedDedicatedCircuits", "http://schemas.microsoft.com/windowsazure")); + if (authorizedDedicatedCircuitsSequenceElement != null) + { + foreach (XElement authorizedDedicatedCircuitsElement in authorizedDedicatedCircuitsSequenceElement.Elements(XName.Get("AuthorizedDedicatedCircuit", "http://schemas.microsoft.com/windowsazure"))) + { + AzureAuthorizedDedicatedCircuit authorizedDedicatedCircuitInstance = new AzureAuthorizedDedicatedCircuit(); + result.AuthorizedDedicatedCircuits.Add(authorizedDedicatedCircuitInstance); + + XElement bandwidthElement = authorizedDedicatedCircuitsElement.Element(XName.Get("Bandwidth", "http://schemas.microsoft.com/windowsazure")); + if (bandwidthElement != null) + { + uint bandwidthInstance = uint.Parse(bandwidthElement.Value, CultureInfo.InvariantCulture); + authorizedDedicatedCircuitInstance.Bandwidth = bandwidthInstance; + } + + XElement circuitNameElement = authorizedDedicatedCircuitsElement.Element(XName.Get("CircuitName", "http://schemas.microsoft.com/windowsazure")); + if (circuitNameElement != null) + { + string circuitNameInstance = circuitNameElement.Value; + authorizedDedicatedCircuitInstance.CircuitName = circuitNameInstance; + } + + XElement locationElement = authorizedDedicatedCircuitsElement.Element(XName.Get("Location", "http://schemas.microsoft.com/windowsazure")); + if (locationElement != null) + { + string locationInstance = locationElement.Value; + authorizedDedicatedCircuitInstance.Location = locationInstance; + } + + XElement maximumAllowedLinksElement = authorizedDedicatedCircuitsElement.Element(XName.Get("MaximumAllowedLinks", "http://schemas.microsoft.com/windowsazure")); + if (maximumAllowedLinksElement != null) + { + int maximumAllowedLinksInstance = int.Parse(maximumAllowedLinksElement.Value, CultureInfo.InvariantCulture); + authorizedDedicatedCircuitInstance.MaximumAllowedLinks = maximumAllowedLinksInstance; + } + + XElement serviceKeyElement = authorizedDedicatedCircuitsElement.Element(XName.Get("ServiceKey", "http://schemas.microsoft.com/windowsazure")); + if (serviceKeyElement != null) + { + string serviceKeyInstance = serviceKeyElement.Value; + authorizedDedicatedCircuitInstance.ServiceKey = serviceKeyInstance; + } + + XElement serviceProviderNameElement = authorizedDedicatedCircuitsElement.Element(XName.Get("ServiceProviderName", "http://schemas.microsoft.com/windowsazure")); + if (serviceProviderNameElement != null) + { + string serviceProviderNameInstance = serviceProviderNameElement.Value; + authorizedDedicatedCircuitInstance.ServiceProviderName = serviceProviderNameInstance; + } + + XElement serviceProviderProvisioningStateElement = authorizedDedicatedCircuitsElement.Element(XName.Get("ServiceProviderProvisioningState", "http://schemas.microsoft.com/windowsazure")); + if (serviceProviderProvisioningStateElement != null) + { + ProviderProvisioningState serviceProviderProvisioningStateInstance = ((ProviderProvisioningState)Enum.Parse(typeof(ProviderProvisioningState), serviceProviderProvisioningStateElement.Value, true)); + authorizedDedicatedCircuitInstance.ServiceProviderProvisioningState = serviceProviderProvisioningStateInstance; + } + + XElement statusElement = authorizedDedicatedCircuitsElement.Element(XName.Get("Status", "http://schemas.microsoft.com/windowsazure")); + if (statusElement != null) + { + DedicatedCircuitState statusInstance = ((DedicatedCircuitState)Enum.Parse(typeof(DedicatedCircuitState), statusElement.Value, true)); + authorizedDedicatedCircuitInstance.Status = statusInstance; + } + + XElement usedLinksElement = authorizedDedicatedCircuitsElement.Element(XName.Get("UsedLinks", "http://schemas.microsoft.com/windowsazure")); + if (usedLinksElement != null) + { + int usedLinksInstance = int.Parse(usedLinksElement.Value, CultureInfo.InvariantCulture); + authorizedDedicatedCircuitInstance.UsedLinks = usedLinksInstance; + } + } + } + + result.StatusCode = statusCode; + if (httpResponse.Headers.Contains("x-ms-request-id")) + { + result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + + if (shouldTrace) + { + Tracing.Exit(invocationId, result); + } + return result; + } + finally + { + if (httpResponse != null) + { + httpResponse.Dispose(); + } + } + } + finally + { + if (httpRequest != null) + { + httpRequest.Dispose(); + } + } + } + } +} diff --git a/src/ExpressRouteManagement/Generated/AuthorizedDedicatedCircuitOperationsExtensions.cs b/src/ExpressRouteManagement/Generated/AuthorizedDedicatedCircuitOperationsExtensions.cs new file mode 100644 index 000000000000..949fd7cdc796 --- /dev/null +++ b/src/ExpressRouteManagement/Generated/AuthorizedDedicatedCircuitOperationsExtensions.cs @@ -0,0 +1,120 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.WindowsAzure.Management.ExpressRoute; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure +{ + /// + /// The Express Route API provides programmatic access to the functionality + /// needed by the customer to set up Dedicated Circuits and Dedicated + /// Circuit Links. The Express Route Customer API is a REST API. All API + /// operations are performed over SSL and mutually authenticated using + /// X.509 v3 certificates. (see + /// http://msdn.microsoft.com/en-us/library/windowsazure/ee460799.aspx for + /// more information) + /// + public static partial class AuthorizedDedicatedCircuitOperationsExtensions + { + /// + /// The Get Dedicated Circuit operation retrieves the specified + /// authorized dedicated circuit. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IAuthorizedDedicatedCircuitOperations. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// The Get Authorized Dedicated Circuit operation response. + /// + public static AuthorizedDedicatedCircuitGetResponse Get(this IAuthorizedDedicatedCircuitOperations operations, string serviceKey) + { + return Task.Factory.StartNew((object s) => + { + return ((IAuthorizedDedicatedCircuitOperations)s).GetAsync(serviceKey); + } + , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + } + + /// + /// The Get Dedicated Circuit operation retrieves the specified + /// authorized dedicated circuit. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IAuthorizedDedicatedCircuitOperations. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// The Get Authorized Dedicated Circuit operation response. + /// + public static Task GetAsync(this IAuthorizedDedicatedCircuitOperations operations, string serviceKey) + { + return operations.GetAsync(serviceKey, CancellationToken.None); + } + + /// + /// The List Dedicated Circuit operation retrieves a list of dedicated + /// circuits owned by the customer. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IAuthorizedDedicatedCircuitOperations. + /// + /// + /// The List Authorized Dedicated Circuit operation response. + /// + public static AuthorizedDedicatedCircuitListResponse List(this IAuthorizedDedicatedCircuitOperations operations) + { + return Task.Factory.StartNew((object s) => + { + return ((IAuthorizedDedicatedCircuitOperations)s).ListAsync(); + } + , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + } + + /// + /// The List Dedicated Circuit operation retrieves a list of dedicated + /// circuits owned by the customer. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IAuthorizedDedicatedCircuitOperations. + /// + /// + /// The List Authorized Dedicated Circuit operation response. + /// + public static Task ListAsync(this IAuthorizedDedicatedCircuitOperations operations) + { + return operations.ListAsync(CancellationToken.None); + } + } +} diff --git a/src/ExpressRouteManagement/Generated/DedicatedCircuitLinkAuthorizationLiveIdOperations.cs b/src/ExpressRouteManagement/Generated/DedicatedCircuitLinkAuthorizationLiveIdOperations.cs new file mode 100644 index 000000000000..9eada642903f --- /dev/null +++ b/src/ExpressRouteManagement/Generated/DedicatedCircuitLinkAuthorizationLiveIdOperations.cs @@ -0,0 +1,373 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Xml.Linq; +using Microsoft.WindowsAzure; +using Microsoft.WindowsAzure.Common; +using Microsoft.WindowsAzure.Common.Internals; +using Microsoft.WindowsAzure.Management.ExpressRoute; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute +{ + internal partial class DedicatedCircuitLinkAuthorizationLiveIdOperations : IServiceOperations, Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationLiveIdOperations + { + /// + /// Initializes a new instance of the + /// DedicatedCircuitLinkAuthorizationLiveIdOperations class. + /// + /// + /// Reference to the service client. + /// + internal DedicatedCircuitLinkAuthorizationLiveIdOperations(ExpressRouteManagementClient client) + { + this._client = client; + } + + private ExpressRouteManagementClient _client; + + /// + /// Gets a reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.ExpressRouteManagementClient. + /// + public ExpressRouteManagementClient Client + { + get { return this._client; } + } + + /// + /// Adds live Ids to the specified authorization + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// Required. Parameters supplied to add new live Ids + /// + /// + /// Cancellation token. + /// + /// + /// A standard service response including an HTTP status code and + /// request ID. + /// + public async System.Threading.Tasks.Task NewAsync(string serviceKey, string authId, DedicatedCircuitLinkAuthorizationLiveIdNewParameters parameters, CancellationToken cancellationToken) + { + // Validate + if (serviceKey == null) + { + throw new ArgumentNullException("serviceKey"); + } + if (authId == null) + { + throw new ArgumentNullException("authId"); + } + if (parameters == null) + { + throw new ArgumentNullException("parameters"); + } + + // Tracing + bool shouldTrace = CloudContext.Configuration.Tracing.IsEnabled; + string invocationId = null; + if (shouldTrace) + { + invocationId = Tracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("serviceKey", serviceKey); + tracingParameters.Add("authId", authId); + tracingParameters.Add("parameters", parameters); + Tracing.Enter(invocationId, this, "NewAsync", tracingParameters); + } + + // Construct URL + string url = "/" + (this.Client.Credentials.SubscriptionId != null ? this.Client.Credentials.SubscriptionId.Trim() : "") + "/services/networking/dedicatedcircuits/" + serviceKey.Trim() + "/authorizations/" + authId.Trim() + "/liveids?api-version=1.0"; + string baseUrl = this.Client.BaseUri.AbsoluteUri; + // Trim '/' character from the end of baseUrl and beginning of url. + if (baseUrl[baseUrl.Length - 1] == '/') + { + baseUrl = baseUrl.Substring(0, baseUrl.Length - 1); + } + if (url[0] == '/') + { + url = url.Substring(1); + } + url = baseUrl + "/" + url; + url = url.Replace(" ", "%20"); + + // Create HTTP transport objects + HttpRequestMessage httpRequest = null; + try + { + httpRequest = new HttpRequestMessage(); + httpRequest.Method = HttpMethod.Post; + httpRequest.RequestUri = new Uri(url); + + // Set Headers + httpRequest.Headers.Add("x-ms-version", "2011-10-01"); + + // Set Credentials + cancellationToken.ThrowIfCancellationRequested(); + await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false); + + // Serialize Request + string requestContent = null; + XDocument requestDoc = new XDocument(); + + XElement dedicatedCircuitLinkAuthorizationLiveIdsElement = new XElement(XName.Get("DedicatedCircuitLinkAuthorizationLiveIds", "http://schemas.microsoft.com/windowsazure")); + requestDoc.Add(dedicatedCircuitLinkAuthorizationLiveIdsElement); + + if (parameters.LiveIds != null) + { + XElement liveIdsElement = new XElement(XName.Get("LiveIds", "http://schemas.microsoft.com/windowsazure")); + liveIdsElement.Value = parameters.LiveIds; + dedicatedCircuitLinkAuthorizationLiveIdsElement.Add(liveIdsElement); + } + + requestContent = requestDoc.ToString(); + httpRequest.Content = new StringContent(requestContent, Encoding.UTF8); + httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/xml"); + + // Send Request + HttpResponseMessage httpResponse = null; + try + { + if (shouldTrace) + { + Tracing.SendRequest(invocationId, httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false); + if (shouldTrace) + { + Tracing.ReceiveResponse(invocationId, httpResponse); + } + HttpStatusCode statusCode = httpResponse.StatusCode; + if (statusCode != HttpStatusCode.OK) + { + cancellationToken.ThrowIfCancellationRequested(); + CloudException ex = CloudException.Create(httpRequest, requestContent, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false)); + if (shouldTrace) + { + Tracing.Error(invocationId, ex); + } + throw ex; + } + + // Create Result + OperationResponse result = null; + result = new OperationResponse(); + result.StatusCode = statusCode; + if (httpResponse.Headers.Contains("x-ms-request-id")) + { + result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + + if (shouldTrace) + { + Tracing.Exit(invocationId, result); + } + return result; + } + finally + { + if (httpResponse != null) + { + httpResponse.Dispose(); + } + } + } + finally + { + if (httpRequest != null) + { + httpRequest.Dispose(); + } + } + } + + /// + /// Removes live Ids from the specified authorization + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// Required. Parameters supplied to remove existing live Ids + /// + /// + /// Cancellation token. + /// + /// + /// A standard service response including an HTTP status code and + /// request ID. + /// + public async System.Threading.Tasks.Task RemoveAsync(string serviceKey, string authId, DedicatedCircuitLinkAuthorizationLiveIdRemoveParameters parameters, CancellationToken cancellationToken) + { + // Validate + if (serviceKey == null) + { + throw new ArgumentNullException("serviceKey"); + } + if (authId == null) + { + throw new ArgumentNullException("authId"); + } + if (parameters == null) + { + throw new ArgumentNullException("parameters"); + } + + // Tracing + bool shouldTrace = CloudContext.Configuration.Tracing.IsEnabled; + string invocationId = null; + if (shouldTrace) + { + invocationId = Tracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("serviceKey", serviceKey); + tracingParameters.Add("authId", authId); + tracingParameters.Add("parameters", parameters); + Tracing.Enter(invocationId, this, "RemoveAsync", tracingParameters); + } + + // Construct URL + string url = "/" + (this.Client.Credentials.SubscriptionId != null ? this.Client.Credentials.SubscriptionId.Trim() : "") + "/services/networking/dedicatedcircuits/" + serviceKey.Trim() + "/authorizations/" + authId.Trim() + "/liveids?api-version=1.0"; + string baseUrl = this.Client.BaseUri.AbsoluteUri; + // Trim '/' character from the end of baseUrl and beginning of url. + if (baseUrl[baseUrl.Length - 1] == '/') + { + baseUrl = baseUrl.Substring(0, baseUrl.Length - 1); + } + if (url[0] == '/') + { + url = url.Substring(1); + } + url = baseUrl + "/" + url; + url = url.Replace(" ", "%20"); + + // Create HTTP transport objects + HttpRequestMessage httpRequest = null; + try + { + httpRequest = new HttpRequestMessage(); + httpRequest.Method = HttpMethod.Delete; + httpRequest.RequestUri = new Uri(url); + + // Set Headers + httpRequest.Headers.Add("x-ms-version", "2011-10-01"); + + // Set Credentials + cancellationToken.ThrowIfCancellationRequested(); + await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false); + + // Serialize Request + string requestContent = null; + XDocument requestDoc = new XDocument(); + + XElement dedicatedCircuitLinkAuthorizationLiveIdsElement = new XElement(XName.Get("DedicatedCircuitLinkAuthorizationLiveIds", "http://schemas.microsoft.com/windowsazure")); + requestDoc.Add(dedicatedCircuitLinkAuthorizationLiveIdsElement); + + if (parameters.LiveIds != null) + { + XElement liveIdsElement = new XElement(XName.Get("LiveIds", "http://schemas.microsoft.com/windowsazure")); + liveIdsElement.Value = parameters.LiveIds; + dedicatedCircuitLinkAuthorizationLiveIdsElement.Add(liveIdsElement); + } + + requestContent = requestDoc.ToString(); + httpRequest.Content = new StringContent(requestContent, Encoding.UTF8); + httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/xml"); + + // Send Request + HttpResponseMessage httpResponse = null; + try + { + if (shouldTrace) + { + Tracing.SendRequest(invocationId, httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false); + if (shouldTrace) + { + Tracing.ReceiveResponse(invocationId, httpResponse); + } + HttpStatusCode statusCode = httpResponse.StatusCode; + if (statusCode != HttpStatusCode.OK) + { + cancellationToken.ThrowIfCancellationRequested(); + CloudException ex = CloudException.Create(httpRequest, requestContent, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false)); + if (shouldTrace) + { + Tracing.Error(invocationId, ex); + } + throw ex; + } + + // Create Result + OperationResponse result = null; + result = new OperationResponse(); + result.StatusCode = statusCode; + if (httpResponse.Headers.Contains("x-ms-request-id")) + { + result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + + if (shouldTrace) + { + Tracing.Exit(invocationId, result); + } + return result; + } + finally + { + if (httpResponse != null) + { + httpResponse.Dispose(); + } + } + } + finally + { + if (httpRequest != null) + { + httpRequest.Dispose(); + } + } + } + } +} diff --git a/src/ExpressRouteManagement/Generated/DedicatedCircuitLinkAuthorizationLiveIdOperationsExtensions.cs b/src/ExpressRouteManagement/Generated/DedicatedCircuitLinkAuthorizationLiveIdOperationsExtensions.cs new file mode 100644 index 000000000000..79de74a3b18c --- /dev/null +++ b/src/ExpressRouteManagement/Generated/DedicatedCircuitLinkAuthorizationLiveIdOperationsExtensions.cs @@ -0,0 +1,151 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.WindowsAzure; +using Microsoft.WindowsAzure.Management.ExpressRoute; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure +{ + /// + /// The Express Route API provides programmatic access to the functionality + /// needed by the customer to set up Dedicated Circuits and Dedicated + /// Circuit Links. The Express Route Customer API is a REST API. All API + /// operations are performed over SSL and mutually authenticated using + /// X.509 v3 certificates. (see + /// http://msdn.microsoft.com/en-us/library/windowsazure/ee460799.aspx for + /// more information) + /// + public static partial class DedicatedCircuitLinkAuthorizationLiveIdOperationsExtensions + { + /// + /// Adds live Ids to the specified authorization + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationLiveIdOperations. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// Required. Parameters supplied to add new live Ids + /// + /// + /// A standard service response including an HTTP status code and + /// request ID. + /// + public static OperationResponse New(this IDedicatedCircuitLinkAuthorizationLiveIdOperations operations, string serviceKey, string authId, DedicatedCircuitLinkAuthorizationLiveIdNewParameters parameters) + { + return Task.Factory.StartNew((object s) => + { + return ((IDedicatedCircuitLinkAuthorizationLiveIdOperations)s).NewAsync(serviceKey, authId, parameters); + } + , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + } + + /// + /// Adds live Ids to the specified authorization + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationLiveIdOperations. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// Required. Parameters supplied to add new live Ids + /// + /// + /// A standard service response including an HTTP status code and + /// request ID. + /// + public static Task NewAsync(this IDedicatedCircuitLinkAuthorizationLiveIdOperations operations, string serviceKey, string authId, DedicatedCircuitLinkAuthorizationLiveIdNewParameters parameters) + { + return operations.NewAsync(serviceKey, authId, parameters, CancellationToken.None); + } + + /// + /// Removes live Ids from the specified authorization + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationLiveIdOperations. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// Required. Parameters supplied to remove existing live Ids + /// + /// + /// A standard service response including an HTTP status code and + /// request ID. + /// + public static OperationResponse Remove(this IDedicatedCircuitLinkAuthorizationLiveIdOperations operations, string serviceKey, string authId, DedicatedCircuitLinkAuthorizationLiveIdRemoveParameters parameters) + { + return Task.Factory.StartNew((object s) => + { + return ((IDedicatedCircuitLinkAuthorizationLiveIdOperations)s).RemoveAsync(serviceKey, authId, parameters); + } + , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + } + + /// + /// Removes live Ids from the specified authorization + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationLiveIdOperations. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// Required. Parameters supplied to remove existing live Ids + /// + /// + /// A standard service response including an HTTP status code and + /// request ID. + /// + public static Task RemoveAsync(this IDedicatedCircuitLinkAuthorizationLiveIdOperations operations, string serviceKey, string authId, DedicatedCircuitLinkAuthorizationLiveIdRemoveParameters parameters) + { + return operations.RemoveAsync(serviceKey, authId, parameters, CancellationToken.None); + } + } +} diff --git a/src/ExpressRouteManagement/Generated/DedicatedCircuitLinkAuthorizationOperations.cs b/src/ExpressRouteManagement/Generated/DedicatedCircuitLinkAuthorizationOperations.cs new file mode 100644 index 000000000000..c2213564408d --- /dev/null +++ b/src/ExpressRouteManagement/Generated/DedicatedCircuitLinkAuthorizationOperations.cs @@ -0,0 +1,1040 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Xml.Linq; +using Microsoft.WindowsAzure; +using Microsoft.WindowsAzure.Common; +using Microsoft.WindowsAzure.Common.Internals; +using Microsoft.WindowsAzure.Management.ExpressRoute; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute +{ + internal partial class DedicatedCircuitLinkAuthorizationOperations : IServiceOperations, Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations + { + /// + /// Initializes a new instance of the + /// DedicatedCircuitLinkAuthorizationOperations class. + /// + /// + /// Reference to the service client. + /// + internal DedicatedCircuitLinkAuthorizationOperations(ExpressRouteManagementClient client) + { + this._client = client; + } + + private ExpressRouteManagementClient _client; + + /// + /// Gets a reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.ExpressRouteManagementClient. + /// + public ExpressRouteManagementClient Client + { + get { return this._client; } + } + + /// + /// The Remove Dedicated Circuit Link Authorization operation deletes + /// an existing dedicated circuit link. + /// + /// + /// Required. Service key representing the dedicated circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// Cancellation token. + /// + /// + /// A standard service response including an HTTP status code and + /// request ID. + /// + public async System.Threading.Tasks.Task BeginRemoveAsync(string serviceKey, string authId, CancellationToken cancellationToken) + { + // Validate + if (serviceKey == null) + { + throw new ArgumentNullException("serviceKey"); + } + if (authId == null) + { + throw new ArgumentNullException("authId"); + } + + // Tracing + bool shouldTrace = CloudContext.Configuration.Tracing.IsEnabled; + string invocationId = null; + if (shouldTrace) + { + invocationId = Tracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("serviceKey", serviceKey); + tracingParameters.Add("authId", authId); + Tracing.Enter(invocationId, this, "BeginRemoveAsync", tracingParameters); + } + + // Construct URL + string url = "/" + (this.Client.Credentials.SubscriptionId != null ? this.Client.Credentials.SubscriptionId.Trim() : "") + "/services/networking/dedicatedcircuits/" + serviceKey.Trim() + "/authorizations/" + authId.Trim() + "?api-version=1.0"; + string baseUrl = this.Client.BaseUri.AbsoluteUri; + // Trim '/' character from the end of baseUrl and beginning of url. + if (baseUrl[baseUrl.Length - 1] == '/') + { + baseUrl = baseUrl.Substring(0, baseUrl.Length - 1); + } + if (url[0] == '/') + { + url = url.Substring(1); + } + url = baseUrl + "/" + url; + url = url.Replace(" ", "%20"); + + // Create HTTP transport objects + HttpRequestMessage httpRequest = null; + try + { + httpRequest = new HttpRequestMessage(); + httpRequest.Method = HttpMethod.Delete; + httpRequest.RequestUri = new Uri(url); + + // Set Headers + httpRequest.Headers.Add("x-ms-version", "2011-10-01"); + + // Set Credentials + cancellationToken.ThrowIfCancellationRequested(); + await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false); + + // Send Request + HttpResponseMessage httpResponse = null; + try + { + if (shouldTrace) + { + Tracing.SendRequest(invocationId, httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false); + if (shouldTrace) + { + Tracing.ReceiveResponse(invocationId, httpResponse); + } + HttpStatusCode statusCode = httpResponse.StatusCode; + if (statusCode != HttpStatusCode.Accepted) + { + cancellationToken.ThrowIfCancellationRequested(); + CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false)); + if (shouldTrace) + { + Tracing.Error(invocationId, ex); + } + throw ex; + } + + // Create Result + ExpressRouteOperationResponse result = null; + // Deserialize Response + cancellationToken.ThrowIfCancellationRequested(); + string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + result = new ExpressRouteOperationResponse(); + XDocument responseDoc = XDocument.Parse(responseContent); + + XElement gatewayOperationAsyncResponseElement = responseDoc.Element(XName.Get("GatewayOperationAsyncResponse", "http://schemas.microsoft.com/windowsazure")); + if (gatewayOperationAsyncResponseElement != null) + { + XElement idElement = gatewayOperationAsyncResponseElement.Element(XName.Get("ID", "http://schemas.microsoft.com/windowsazure")); + if (idElement != null) + { + string idInstance = idElement.Value; + result.OperationId = idInstance; + } + } + + result.StatusCode = statusCode; + if (httpResponse.Headers.Contains("x-ms-request-id")) + { + result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + + if (shouldTrace) + { + Tracing.Exit(invocationId, result); + } + return result; + } + finally + { + if (httpResponse != null) + { + httpResponse.Dispose(); + } + } + } + finally + { + if (httpRequest != null) + { + httpRequest.Dispose(); + } + } + } + + /// + /// Gets the link authorization for the specified dedicated circuit. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// Cancellation token. + /// + /// + /// Get link authorization operation response. + /// + public async System.Threading.Tasks.Task GetAsync(string serviceKey, string authId, CancellationToken cancellationToken) + { + // Validate + if (serviceKey == null) + { + throw new ArgumentNullException("serviceKey"); + } + if (authId == null) + { + throw new ArgumentNullException("authId"); + } + + // Tracing + bool shouldTrace = CloudContext.Configuration.Tracing.IsEnabled; + string invocationId = null; + if (shouldTrace) + { + invocationId = Tracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("serviceKey", serviceKey); + tracingParameters.Add("authId", authId); + Tracing.Enter(invocationId, this, "GetAsync", tracingParameters); + } + + // Construct URL + string url = "/" + (this.Client.Credentials.SubscriptionId != null ? this.Client.Credentials.SubscriptionId.Trim() : "") + "/services/networking/dedicatedcircuits/" + serviceKey.Trim() + "/authorizations/" + authId.Trim() + "?api-version=1.0"; + string baseUrl = this.Client.BaseUri.AbsoluteUri; + // Trim '/' character from the end of baseUrl and beginning of url. + if (baseUrl[baseUrl.Length - 1] == '/') + { + baseUrl = baseUrl.Substring(0, baseUrl.Length - 1); + } + if (url[0] == '/') + { + url = url.Substring(1); + } + url = baseUrl + "/" + url; + url = url.Replace(" ", "%20"); + + // Create HTTP transport objects + HttpRequestMessage httpRequest = null; + try + { + httpRequest = new HttpRequestMessage(); + httpRequest.Method = HttpMethod.Get; + httpRequest.RequestUri = new Uri(url); + + // Set Headers + httpRequest.Headers.Add("x-ms-version", "2011-10-01"); + + // Set Credentials + cancellationToken.ThrowIfCancellationRequested(); + await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false); + + // Send Request + HttpResponseMessage httpResponse = null; + try + { + if (shouldTrace) + { + Tracing.SendRequest(invocationId, httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false); + if (shouldTrace) + { + Tracing.ReceiveResponse(invocationId, httpResponse); + } + HttpStatusCode statusCode = httpResponse.StatusCode; + if (statusCode != HttpStatusCode.OK) + { + cancellationToken.ThrowIfCancellationRequested(); + CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false)); + if (shouldTrace) + { + Tracing.Error(invocationId, ex); + } + throw ex; + } + + // Create Result + DedicatedCircuitLinkAuthorizationGetResponse result = null; + // Deserialize Response + cancellationToken.ThrowIfCancellationRequested(); + string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + result = new DedicatedCircuitLinkAuthorizationGetResponse(); + XDocument responseDoc = XDocument.Parse(responseContent); + + XElement dedicatedCircuitLinkAuthorizationElement = responseDoc.Element(XName.Get("DedicatedCircuitLinkAuthorization", "http://schemas.microsoft.com/windowsazure")); + if (dedicatedCircuitLinkAuthorizationElement != null) + { + AzureDedicatedCircuitLinkAuthorization dedicatedCircuitLinkAuthorizationInstance = new AzureDedicatedCircuitLinkAuthorization(); + result.DedicatedCircuitLinkAuthorization = dedicatedCircuitLinkAuthorizationInstance; + + XElement descriptionElement = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("Description", "http://schemas.microsoft.com/windowsazure")); + if (descriptionElement != null) + { + string descriptionInstance = descriptionElement.Value; + dedicatedCircuitLinkAuthorizationInstance.Description = descriptionInstance; + } + + XElement limitElement = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("Limit", "http://schemas.microsoft.com/windowsazure")); + if (limitElement != null) + { + int limitInstance = int.Parse(limitElement.Value, CultureInfo.InvariantCulture); + dedicatedCircuitLinkAuthorizationInstance.Limit = limitInstance; + } + + XElement linkAuthIdElement = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("LinkAuthId", "http://schemas.microsoft.com/windowsazure")); + if (linkAuthIdElement != null) + { + string linkAuthIdInstance = linkAuthIdElement.Value; + dedicatedCircuitLinkAuthorizationInstance.LinkAuthId = linkAuthIdInstance; + } + + XElement liveIdsElement = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("LiveIds", "http://schemas.microsoft.com/windowsazure")); + if (liveIdsElement != null) + { + string liveIdsInstance = liveIdsElement.Value; + dedicatedCircuitLinkAuthorizationInstance.LiveIds = liveIdsInstance; + } + + XElement usedElement = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("Used", "http://schemas.microsoft.com/windowsazure")); + if (usedElement != null) + { + int usedInstance = int.Parse(usedElement.Value, CultureInfo.InvariantCulture); + dedicatedCircuitLinkAuthorizationInstance.Used = usedInstance; + } + } + + result.StatusCode = statusCode; + if (httpResponse.Headers.Contains("x-ms-request-id")) + { + result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + + if (shouldTrace) + { + Tracing.Exit(invocationId, result); + } + return result; + } + finally + { + if (httpResponse != null) + { + httpResponse.Dispose(); + } + } + } + finally + { + if (httpRequest != null) + { + httpRequest.Dispose(); + } + } + } + + /// + /// Lists the specified link authorization for the specified dedicated + /// circuit. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Cancellation token. + /// + /// + /// List link authorization operation response. + /// + public async System.Threading.Tasks.Task ListAsync(string serviceKey, CancellationToken cancellationToken) + { + // Validate + if (serviceKey == null) + { + throw new ArgumentNullException("serviceKey"); + } + + // Tracing + bool shouldTrace = CloudContext.Configuration.Tracing.IsEnabled; + string invocationId = null; + if (shouldTrace) + { + invocationId = Tracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("serviceKey", serviceKey); + Tracing.Enter(invocationId, this, "ListAsync", tracingParameters); + } + + // Construct URL + string url = "/" + (this.Client.Credentials.SubscriptionId != null ? this.Client.Credentials.SubscriptionId.Trim() : "") + "/services/networking/dedicatedcircuits/" + serviceKey.Trim() + "/authorizations?api-version=1.0"; + string baseUrl = this.Client.BaseUri.AbsoluteUri; + // Trim '/' character from the end of baseUrl and beginning of url. + if (baseUrl[baseUrl.Length - 1] == '/') + { + baseUrl = baseUrl.Substring(0, baseUrl.Length - 1); + } + if (url[0] == '/') + { + url = url.Substring(1); + } + url = baseUrl + "/" + url; + url = url.Replace(" ", "%20"); + + // Create HTTP transport objects + HttpRequestMessage httpRequest = null; + try + { + httpRequest = new HttpRequestMessage(); + httpRequest.Method = HttpMethod.Get; + httpRequest.RequestUri = new Uri(url); + + // Set Headers + httpRequest.Headers.Add("x-ms-version", "2011-10-01"); + + // Set Credentials + cancellationToken.ThrowIfCancellationRequested(); + await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false); + + // Send Request + HttpResponseMessage httpResponse = null; + try + { + if (shouldTrace) + { + Tracing.SendRequest(invocationId, httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false); + if (shouldTrace) + { + Tracing.ReceiveResponse(invocationId, httpResponse); + } + HttpStatusCode statusCode = httpResponse.StatusCode; + if (statusCode != HttpStatusCode.OK) + { + cancellationToken.ThrowIfCancellationRequested(); + CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false)); + if (shouldTrace) + { + Tracing.Error(invocationId, ex); + } + throw ex; + } + + // Create Result + DedicatedCircuitLinkAuthorizationListResponse result = null; + // Deserialize Response + cancellationToken.ThrowIfCancellationRequested(); + string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + result = new DedicatedCircuitLinkAuthorizationListResponse(); + XDocument responseDoc = XDocument.Parse(responseContent); + + XElement dedicatedCircuitLinkAuthorizationsSequenceElement = responseDoc.Element(XName.Get("DedicatedCircuitLinkAuthorizations", "http://schemas.microsoft.com/windowsazure")); + if (dedicatedCircuitLinkAuthorizationsSequenceElement != null) + { + foreach (XElement dedicatedCircuitLinkAuthorizationsElement in dedicatedCircuitLinkAuthorizationsSequenceElement.Elements(XName.Get("DedicatedCircuitLinkAuthorization", "http://schemas.microsoft.com/windowsazure"))) + { + AzureDedicatedCircuitLinkAuthorization dedicatedCircuitLinkAuthorizationInstance = new AzureDedicatedCircuitLinkAuthorization(); + result.DedicatedCircuitLinkAuthorizations.Add(dedicatedCircuitLinkAuthorizationInstance); + + XElement descriptionElement = dedicatedCircuitLinkAuthorizationsElement.Element(XName.Get("Description", "http://schemas.microsoft.com/windowsazure")); + if (descriptionElement != null) + { + string descriptionInstance = descriptionElement.Value; + dedicatedCircuitLinkAuthorizationInstance.Description = descriptionInstance; + } + + XElement limitElement = dedicatedCircuitLinkAuthorizationsElement.Element(XName.Get("Limit", "http://schemas.microsoft.com/windowsazure")); + if (limitElement != null) + { + int limitInstance = int.Parse(limitElement.Value, CultureInfo.InvariantCulture); + dedicatedCircuitLinkAuthorizationInstance.Limit = limitInstance; + } + + XElement linkAuthIdElement = dedicatedCircuitLinkAuthorizationsElement.Element(XName.Get("LinkAuthId", "http://schemas.microsoft.com/windowsazure")); + if (linkAuthIdElement != null) + { + string linkAuthIdInstance = linkAuthIdElement.Value; + dedicatedCircuitLinkAuthorizationInstance.LinkAuthId = linkAuthIdInstance; + } + + XElement liveIdsElement = dedicatedCircuitLinkAuthorizationsElement.Element(XName.Get("LiveIds", "http://schemas.microsoft.com/windowsazure")); + if (liveIdsElement != null) + { + string liveIdsInstance = liveIdsElement.Value; + dedicatedCircuitLinkAuthorizationInstance.LiveIds = liveIdsInstance; + } + + XElement usedElement = dedicatedCircuitLinkAuthorizationsElement.Element(XName.Get("Used", "http://schemas.microsoft.com/windowsazure")); + if (usedElement != null) + { + int usedInstance = int.Parse(usedElement.Value, CultureInfo.InvariantCulture); + dedicatedCircuitLinkAuthorizationInstance.Used = usedInstance; + } + } + } + + result.StatusCode = statusCode; + if (httpResponse.Headers.Contains("x-ms-request-id")) + { + result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + + if (shouldTrace) + { + Tracing.Exit(invocationId, result); + } + return result; + } + finally + { + if (httpResponse != null) + { + httpResponse.Dispose(); + } + } + } + finally + { + if (httpRequest != null) + { + httpRequest.Dispose(); + } + } + } + + /// + /// Gets the specified link authorization for the specified dedicated + /// circuit. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. Parameters supplied to the new Dedicated Circuit link + /// authorization operation. + /// + /// + /// Cancellation token. + /// + /// + /// Get link authorization operation response. + /// + public async System.Threading.Tasks.Task NewAsync(string serviceKey, DedicatedCircuitLinkAuthorizationNewParameters parameters, CancellationToken cancellationToken) + { + // Validate + if (serviceKey == null) + { + throw new ArgumentNullException("serviceKey"); + } + if (parameters == null) + { + throw new ArgumentNullException("parameters"); + } + + // Tracing + bool shouldTrace = CloudContext.Configuration.Tracing.IsEnabled; + string invocationId = null; + if (shouldTrace) + { + invocationId = Tracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("serviceKey", serviceKey); + tracingParameters.Add("parameters", parameters); + Tracing.Enter(invocationId, this, "NewAsync", tracingParameters); + } + + // Construct URL + string url = "/" + (this.Client.Credentials.SubscriptionId != null ? this.Client.Credentials.SubscriptionId.Trim() : "") + "/services/networking/dedicatedcircuits/" + serviceKey.Trim() + "/authorizations?api-version=1.0"; + string baseUrl = this.Client.BaseUri.AbsoluteUri; + // Trim '/' character from the end of baseUrl and beginning of url. + if (baseUrl[baseUrl.Length - 1] == '/') + { + baseUrl = baseUrl.Substring(0, baseUrl.Length - 1); + } + if (url[0] == '/') + { + url = url.Substring(1); + } + url = baseUrl + "/" + url; + url = url.Replace(" ", "%20"); + + // Create HTTP transport objects + HttpRequestMessage httpRequest = null; + try + { + httpRequest = new HttpRequestMessage(); + httpRequest.Method = HttpMethod.Post; + httpRequest.RequestUri = new Uri(url); + + // Set Headers + httpRequest.Headers.Add("x-ms-version", "2011-10-01"); + + // Set Credentials + cancellationToken.ThrowIfCancellationRequested(); + await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false); + + // Serialize Request + string requestContent = null; + XDocument requestDoc = new XDocument(); + + XElement createDedicatedCircuitLinkAuthorizationElement = new XElement(XName.Get("CreateDedicatedCircuitLinkAuthorization", "http://schemas.microsoft.com/windowsazure")); + requestDoc.Add(createDedicatedCircuitLinkAuthorizationElement); + + if (parameters.Description != null) + { + XElement descriptionElement = new XElement(XName.Get("Description", "http://schemas.microsoft.com/windowsazure")); + descriptionElement.Value = parameters.Description; + createDedicatedCircuitLinkAuthorizationElement.Add(descriptionElement); + } + + XElement limitElement = new XElement(XName.Get("Limit", "http://schemas.microsoft.com/windowsazure")); + limitElement.Value = parameters.Limit.ToString(); + createDedicatedCircuitLinkAuthorizationElement.Add(limitElement); + + if (parameters.LiveIds != null) + { + XElement liveIdsElement = new XElement(XName.Get("LiveIds", "http://schemas.microsoft.com/windowsazure")); + liveIdsElement.Value = parameters.LiveIds; + createDedicatedCircuitLinkAuthorizationElement.Add(liveIdsElement); + } + + requestContent = requestDoc.ToString(); + httpRequest.Content = new StringContent(requestContent, Encoding.UTF8); + httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/xml"); + + // Send Request + HttpResponseMessage httpResponse = null; + try + { + if (shouldTrace) + { + Tracing.SendRequest(invocationId, httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false); + if (shouldTrace) + { + Tracing.ReceiveResponse(invocationId, httpResponse); + } + HttpStatusCode statusCode = httpResponse.StatusCode; + if (statusCode != HttpStatusCode.OK) + { + cancellationToken.ThrowIfCancellationRequested(); + CloudException ex = CloudException.Create(httpRequest, requestContent, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false)); + if (shouldTrace) + { + Tracing.Error(invocationId, ex); + } + throw ex; + } + + // Create Result + DedicatedCircuitLinkAuthorizationNewResponse result = null; + // Deserialize Response + cancellationToken.ThrowIfCancellationRequested(); + string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + result = new DedicatedCircuitLinkAuthorizationNewResponse(); + XDocument responseDoc = XDocument.Parse(responseContent); + + XElement dedicatedCircuitLinkAuthorizationElement = responseDoc.Element(XName.Get("DedicatedCircuitLinkAuthorization", "http://schemas.microsoft.com/windowsazure")); + if (dedicatedCircuitLinkAuthorizationElement != null) + { + AzureDedicatedCircuitLinkAuthorization dedicatedCircuitLinkAuthorizationInstance = new AzureDedicatedCircuitLinkAuthorization(); + result.DedicatedCircuitLinkAuthorization = dedicatedCircuitLinkAuthorizationInstance; + + XElement descriptionElement2 = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("Description", "http://schemas.microsoft.com/windowsazure")); + if (descriptionElement2 != null) + { + string descriptionInstance = descriptionElement2.Value; + dedicatedCircuitLinkAuthorizationInstance.Description = descriptionInstance; + } + + XElement limitElement2 = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("Limit", "http://schemas.microsoft.com/windowsazure")); + if (limitElement2 != null) + { + int limitInstance = int.Parse(limitElement2.Value, CultureInfo.InvariantCulture); + dedicatedCircuitLinkAuthorizationInstance.Limit = limitInstance; + } + + XElement linkAuthIdElement = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("LinkAuthId", "http://schemas.microsoft.com/windowsazure")); + if (linkAuthIdElement != null) + { + string linkAuthIdInstance = linkAuthIdElement.Value; + dedicatedCircuitLinkAuthorizationInstance.LinkAuthId = linkAuthIdInstance; + } + + XElement liveIdsElement2 = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("LiveIds", "http://schemas.microsoft.com/windowsazure")); + if (liveIdsElement2 != null) + { + string liveIdsInstance = liveIdsElement2.Value; + dedicatedCircuitLinkAuthorizationInstance.LiveIds = liveIdsInstance; + } + + XElement usedElement = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("Used", "http://schemas.microsoft.com/windowsazure")); + if (usedElement != null) + { + int usedInstance = int.Parse(usedElement.Value, CultureInfo.InvariantCulture); + dedicatedCircuitLinkAuthorizationInstance.Used = usedInstance; + } + } + + result.StatusCode = statusCode; + if (httpResponse.Headers.Contains("x-ms-request-id")) + { + result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + + if (shouldTrace) + { + Tracing.Exit(invocationId, result); + } + return result; + } + finally + { + if (httpResponse != null) + { + httpResponse.Dispose(); + } + } + } + finally + { + if (httpRequest != null) + { + httpRequest.Dispose(); + } + } + } + + /// + /// The Remove Dedicated Circuit Link Authorization operation deletes + /// an existing dedicated circuit link. + /// + /// + /// Required. Service Key associated with the dedicated circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// Cancellation token. + /// + /// + /// 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. + /// + public async System.Threading.Tasks.Task RemoveAsync(string serviceKey, string authId, CancellationToken cancellationToken) + { + ExpressRouteManagementClient client = this.Client; + bool shouldTrace = CloudContext.Configuration.Tracing.IsEnabled; + string invocationId = null; + if (shouldTrace) + { + invocationId = Tracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("serviceKey", serviceKey); + tracingParameters.Add("authId", authId); + Tracing.Enter(invocationId, this, "RemoveAsync", tracingParameters); + } + try + { + if (shouldTrace) + { + client = this.Client.WithHandler(new ClientRequestTrackingHandler(invocationId)); + } + + cancellationToken.ThrowIfCancellationRequested(); + ExpressRouteOperationResponse originalResponse = await client.DedicatedCircuitLinkAuthorizations.BeginRemoveAsync(serviceKey, authId, cancellationToken).ConfigureAwait(false); + cancellationToken.ThrowIfCancellationRequested(); + ExpressRouteOperationStatusResponse result = await client.GetOperationStatusAsync(originalResponse.OperationId, cancellationToken).ConfigureAwait(false); + int delayInSeconds = 30; + while (result.Status == ExpressRouteOperationStatus.InProgress) + { + cancellationToken.ThrowIfCancellationRequested(); + await TaskEx.Delay(delayInSeconds * 1000, cancellationToken).ConfigureAwait(false); + cancellationToken.ThrowIfCancellationRequested(); + result = await client.GetOperationStatusAsync(originalResponse.OperationId, cancellationToken).ConfigureAwait(false); + delayInSeconds = 10; + } + + if (shouldTrace) + { + Tracing.Exit(invocationId, result); + } + + return result; + } + finally + { + if (client != null && shouldTrace) + { + client.Dispose(); + } + } + } + + /// + /// Updates the specified link authorization for the specified + /// dedicated circuit. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// Required. Parameters supplied to the Update Dedicated Circuit link + /// authorization operation. + /// + /// + /// Cancellation token. + /// + /// + /// Update link authorization operation response. + /// + public async System.Threading.Tasks.Task UpdateAsync(string serviceKey, string authId, DedicatedCircuitLinkAuthorizationUpdateParameters parameters, CancellationToken cancellationToken) + { + // Validate + if (serviceKey == null) + { + throw new ArgumentNullException("serviceKey"); + } + if (authId == null) + { + throw new ArgumentNullException("authId"); + } + if (parameters == null) + { + throw new ArgumentNullException("parameters"); + } + + // Tracing + bool shouldTrace = CloudContext.Configuration.Tracing.IsEnabled; + string invocationId = null; + if (shouldTrace) + { + invocationId = Tracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("serviceKey", serviceKey); + tracingParameters.Add("authId", authId); + tracingParameters.Add("parameters", parameters); + Tracing.Enter(invocationId, this, "UpdateAsync", tracingParameters); + } + + // Construct URL + string url = "/" + (this.Client.Credentials.SubscriptionId != null ? this.Client.Credentials.SubscriptionId.Trim() : "") + "/services/networking/dedicatedcircuits/" + serviceKey.Trim() + "/authorizations/" + authId.Trim() + "?api-version=1.0"; + string baseUrl = this.Client.BaseUri.AbsoluteUri; + // Trim '/' character from the end of baseUrl and beginning of url. + if (baseUrl[baseUrl.Length - 1] == '/') + { + baseUrl = baseUrl.Substring(0, baseUrl.Length - 1); + } + if (url[0] == '/') + { + url = url.Substring(1); + } + url = baseUrl + "/" + url; + url = url.Replace(" ", "%20"); + + // Create HTTP transport objects + HttpRequestMessage httpRequest = null; + try + { + httpRequest = new HttpRequestMessage(); + httpRequest.Method = new HttpMethod("PATCH"); + httpRequest.RequestUri = new Uri(url); + + // Set Headers + httpRequest.Headers.Add("x-ms-version", "2011-10-01"); + + // Set Credentials + cancellationToken.ThrowIfCancellationRequested(); + await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false); + + // Serialize Request + string requestContent = null; + XDocument requestDoc = new XDocument(); + + XElement updateDedicatedCircuitLinkAuthorizationElement = new XElement(XName.Get("UpdateDedicatedCircuitLinkAuthorization", "http://schemas.microsoft.com/windowsazure")); + requestDoc.Add(updateDedicatedCircuitLinkAuthorizationElement); + + if (parameters.Description != null) + { + XElement descriptionElement = new XElement(XName.Get("Description", "http://schemas.microsoft.com/windowsazure")); + descriptionElement.Value = parameters.Description; + updateDedicatedCircuitLinkAuthorizationElement.Add(descriptionElement); + } + + XElement limitElement = new XElement(XName.Get("Limit", "http://schemas.microsoft.com/windowsazure")); + limitElement.Value = parameters.Limit.ToString(); + updateDedicatedCircuitLinkAuthorizationElement.Add(limitElement); + + requestContent = requestDoc.ToString(); + httpRequest.Content = new StringContent(requestContent, Encoding.UTF8); + httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/xml"); + + // Send Request + HttpResponseMessage httpResponse = null; + try + { + if (shouldTrace) + { + Tracing.SendRequest(invocationId, httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false); + if (shouldTrace) + { + Tracing.ReceiveResponse(invocationId, httpResponse); + } + HttpStatusCode statusCode = httpResponse.StatusCode; + if (statusCode != HttpStatusCode.OK) + { + cancellationToken.ThrowIfCancellationRequested(); + CloudException ex = CloudException.Create(httpRequest, requestContent, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false)); + if (shouldTrace) + { + Tracing.Error(invocationId, ex); + } + throw ex; + } + + // Create Result + DedicatedCircuitLinkAuthorizationUpdateResponse result = null; + // Deserialize Response + cancellationToken.ThrowIfCancellationRequested(); + string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + result = new DedicatedCircuitLinkAuthorizationUpdateResponse(); + XDocument responseDoc = XDocument.Parse(responseContent); + + XElement dedicatedCircuitLinkAuthorizationElement = responseDoc.Element(XName.Get("DedicatedCircuitLinkAuthorization", "http://schemas.microsoft.com/windowsazure")); + if (dedicatedCircuitLinkAuthorizationElement != null) + { + AzureDedicatedCircuitLinkAuthorization dedicatedCircuitLinkAuthorizationInstance = new AzureDedicatedCircuitLinkAuthorization(); + result.DedicatedCircuitLinkAuthorization = dedicatedCircuitLinkAuthorizationInstance; + + XElement descriptionElement2 = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("Description", "http://schemas.microsoft.com/windowsazure")); + if (descriptionElement2 != null) + { + string descriptionInstance = descriptionElement2.Value; + dedicatedCircuitLinkAuthorizationInstance.Description = descriptionInstance; + } + + XElement limitElement2 = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("Limit", "http://schemas.microsoft.com/windowsazure")); + if (limitElement2 != null) + { + int limitInstance = int.Parse(limitElement2.Value, CultureInfo.InvariantCulture); + dedicatedCircuitLinkAuthorizationInstance.Limit = limitInstance; + } + + XElement linkAuthIdElement = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("LinkAuthId", "http://schemas.microsoft.com/windowsazure")); + if (linkAuthIdElement != null) + { + string linkAuthIdInstance = linkAuthIdElement.Value; + dedicatedCircuitLinkAuthorizationInstance.LinkAuthId = linkAuthIdInstance; + } + + XElement liveIdsElement = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("LiveIds", "http://schemas.microsoft.com/windowsazure")); + if (liveIdsElement != null) + { + string liveIdsInstance = liveIdsElement.Value; + dedicatedCircuitLinkAuthorizationInstance.LiveIds = liveIdsInstance; + } + + XElement usedElement = dedicatedCircuitLinkAuthorizationElement.Element(XName.Get("Used", "http://schemas.microsoft.com/windowsazure")); + if (usedElement != null) + { + int usedInstance = int.Parse(usedElement.Value, CultureInfo.InvariantCulture); + dedicatedCircuitLinkAuthorizationInstance.Used = usedInstance; + } + } + + result.StatusCode = statusCode; + if (httpResponse.Headers.Contains("x-ms-request-id")) + { + result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); + } + + if (shouldTrace) + { + Tracing.Exit(invocationId, result); + } + return result; + } + finally + { + if (httpResponse != null) + { + httpResponse.Dispose(); + } + } + } + finally + { + if (httpRequest != null) + { + httpRequest.Dispose(); + } + } + } + } +} diff --git a/src/ExpressRouteManagement/Generated/DedicatedCircuitLinkAuthorizationOperationsExtensions.cs b/src/ExpressRouteManagement/Generated/DedicatedCircuitLinkAuthorizationOperationsExtensions.cs new file mode 100644 index 000000000000..514023b4d69e --- /dev/null +++ b/src/ExpressRouteManagement/Generated/DedicatedCircuitLinkAuthorizationOperationsExtensions.cs @@ -0,0 +1,350 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.WindowsAzure.Management.ExpressRoute; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure +{ + /// + /// The Express Route API provides programmatic access to the functionality + /// needed by the customer to set up Dedicated Circuits and Dedicated + /// Circuit Links. The Express Route Customer API is a REST API. All API + /// operations are performed over SSL and mutually authenticated using + /// X.509 v3 certificates. (see + /// http://msdn.microsoft.com/en-us/library/windowsazure/ee460799.aspx for + /// more information) + /// + public static partial class DedicatedCircuitLinkAuthorizationOperationsExtensions + { + /// + /// The Remove Dedicated Circuit Link Authorization operation deletes + /// an existing dedicated circuit link. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations. + /// + /// + /// Required. Service key representing the dedicated circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// A standard service response including an HTTP status code and + /// request ID. + /// + public static ExpressRouteOperationResponse BeginRemove(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, string authId) + { + return Task.Factory.StartNew((object s) => + { + return ((IDedicatedCircuitLinkAuthorizationOperations)s).BeginRemoveAsync(serviceKey, authId); + } + , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + } + + /// + /// The Remove Dedicated Circuit Link Authorization operation deletes + /// an existing dedicated circuit link. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations. + /// + /// + /// Required. Service key representing the dedicated circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// A standard service response including an HTTP status code and + /// request ID. + /// + public static Task BeginRemoveAsync(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, string authId) + { + return operations.BeginRemoveAsync(serviceKey, authId, CancellationToken.None); + } + + /// + /// Gets the link authorization for the specified dedicated circuit. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// Get link authorization operation response. + /// + public static DedicatedCircuitLinkAuthorizationGetResponse Get(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, string authId) + { + return Task.Factory.StartNew((object s) => + { + return ((IDedicatedCircuitLinkAuthorizationOperations)s).GetAsync(serviceKey, authId); + } + , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + } + + /// + /// Gets the link authorization for the specified dedicated circuit. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// Get link authorization operation response. + /// + public static Task GetAsync(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, string authId) + { + return operations.GetAsync(serviceKey, authId, CancellationToken.None); + } + + /// + /// Lists the specified link authorization for the specified dedicated + /// circuit. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// List link authorization operation response. + /// + public static DedicatedCircuitLinkAuthorizationListResponse List(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey) + { + return Task.Factory.StartNew((object s) => + { + return ((IDedicatedCircuitLinkAuthorizationOperations)s).ListAsync(serviceKey); + } + , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + } + + /// + /// Lists the specified link authorization for the specified dedicated + /// circuit. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// List link authorization operation response. + /// + public static Task ListAsync(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey) + { + return operations.ListAsync(serviceKey, CancellationToken.None); + } + + /// + /// Gets the specified link authorization for the specified dedicated + /// circuit. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. Parameters supplied to the new Dedicated Circuit link + /// authorization operation. + /// + /// + /// Get link authorization operation response. + /// + public static DedicatedCircuitLinkAuthorizationNewResponse New(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, DedicatedCircuitLinkAuthorizationNewParameters parameters) + { + return Task.Factory.StartNew((object s) => + { + return ((IDedicatedCircuitLinkAuthorizationOperations)s).NewAsync(serviceKey, parameters); + } + , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + } + + /// + /// Gets the specified link authorization for the specified dedicated + /// circuit. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. Parameters supplied to the new Dedicated Circuit link + /// authorization operation. + /// + /// + /// Get link authorization operation response. + /// + public static Task NewAsync(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, DedicatedCircuitLinkAuthorizationNewParameters parameters) + { + return operations.NewAsync(serviceKey, parameters, CancellationToken.None); + } + + /// + /// The Remove Dedicated Circuit Link Authorization operation deletes + /// an existing dedicated circuit link. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations. + /// + /// + /// Required. Service Key associated with the dedicated circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// 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. + /// + public static ExpressRouteOperationStatusResponse Remove(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, string authId) + { + return Task.Factory.StartNew((object s) => + { + return ((IDedicatedCircuitLinkAuthorizationOperations)s).RemoveAsync(serviceKey, authId); + } + , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + } + + /// + /// The Remove Dedicated Circuit Link Authorization operation deletes + /// an existing dedicated circuit link. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations. + /// + /// + /// Required. Service Key associated with the dedicated circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// 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. + /// + public static Task RemoveAsync(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, string authId) + { + return operations.RemoveAsync(serviceKey, authId, CancellationToken.None); + } + + /// + /// Updates the specified link authorization for the specified + /// dedicated circuit. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// Required. Parameters supplied to the Update Dedicated Circuit link + /// authorization operation. + /// + /// + /// Update link authorization operation response. + /// + public static DedicatedCircuitLinkAuthorizationUpdateResponse Update(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, string authId, DedicatedCircuitLinkAuthorizationUpdateParameters parameters) + { + return Task.Factory.StartNew((object s) => + { + return ((IDedicatedCircuitLinkAuthorizationOperations)s).UpdateAsync(serviceKey, authId, parameters); + } + , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); + } + + /// + /// Updates the specified link authorization for the specified + /// dedicated circuit. + /// + /// + /// Reference to the + /// Microsoft.WindowsAzure.Management.ExpressRoute.IDedicatedCircuitLinkAuthorizationOperations. + /// + /// + /// Required. The service key representing the circuit. + /// + /// + /// Required. The GUID representing the authorization + /// + /// + /// Required. Parameters supplied to the Update Dedicated Circuit link + /// authorization operation. + /// + /// + /// Update link authorization operation response. + /// + public static Task UpdateAsync(this IDedicatedCircuitLinkAuthorizationOperations operations, string serviceKey, string authId, DedicatedCircuitLinkAuthorizationUpdateParameters parameters) + { + return operations.UpdateAsync(serviceKey, authId, parameters, CancellationToken.None); + } + } +} diff --git a/src/ExpressRouteManagement/Generated/ExpressRouteManagementClient.cs b/src/ExpressRouteManagement/Generated/ExpressRouteManagementClient.cs index b85f6f40de28..46b57403d8f7 100644 --- a/src/ExpressRouteManagement/Generated/ExpressRouteManagementClient.cs +++ b/src/ExpressRouteManagement/Generated/ExpressRouteManagementClient.cs @@ -100,6 +100,13 @@ public int LongRunningOperationRetryTimeout set { this._longRunningOperationRetryTimeout = value; } } + private IAuthorizedDedicatedCircuitOperations _authorizedDedicatedCircuits; + + public virtual IAuthorizedDedicatedCircuitOperations AuthorizedDedicatedCircuits + { + get { return this._authorizedDedicatedCircuits; } + } + private IBorderGatewayProtocolPeeringOperations _borderGatewayProtocolPeerings; public virtual IBorderGatewayProtocolPeeringOperations BorderGatewayProtocolPeerings @@ -114,6 +121,20 @@ public virtual ICrossConnectionOperations CrossConnections get { return this._crossConnections; } } + private IDedicatedCircuitLinkAuthorizationLiveIdOperations _dedicatedCircuitLinkAuthorizationLiveIds; + + public virtual IDedicatedCircuitLinkAuthorizationLiveIdOperations DedicatedCircuitLinkAuthorizationLiveIds + { + get { return this._dedicatedCircuitLinkAuthorizationLiveIds; } + } + + private IDedicatedCircuitLinkAuthorizationOperations _dedicatedCircuitLinkAuthorizations; + + public virtual IDedicatedCircuitLinkAuthorizationOperations DedicatedCircuitLinkAuthorizations + { + get { return this._dedicatedCircuitLinkAuthorizations; } + } + private IDedicatedCircuitLinkOperations _dedicatedCircuitLinks; public virtual IDedicatedCircuitLinkOperations DedicatedCircuitLinks @@ -142,8 +163,11 @@ public virtual IDedicatedCircuitServiceProviderOperations DedicatedCircuitServic private ExpressRouteManagementClient() : base() { + this._authorizedDedicatedCircuits = new AuthorizedDedicatedCircuitOperations(this); this._borderGatewayProtocolPeerings = new BorderGatewayProtocolPeeringOperations(this); this._crossConnections = new CrossConnectionOperations(this); + this._dedicatedCircuitLinkAuthorizationLiveIds = new DedicatedCircuitLinkAuthorizationLiveIdOperations(this); + this._dedicatedCircuitLinkAuthorizations = new DedicatedCircuitLinkAuthorizationOperations(this); this._dedicatedCircuitLinks = new DedicatedCircuitLinkOperations(this); this._dedicatedCircuits = new DedicatedCircuitOperations(this); this._dedicatedCircuitServiceProviders = new DedicatedCircuitServiceProviderOperations(this); @@ -215,8 +239,11 @@ public ExpressRouteManagementClient(SubscriptionCloudCredentials credentials) private ExpressRouteManagementClient(HttpClient httpClient) : base(httpClient) { + this._authorizedDedicatedCircuits = new AuthorizedDedicatedCircuitOperations(this); this._borderGatewayProtocolPeerings = new BorderGatewayProtocolPeeringOperations(this); this._crossConnections = new CrossConnectionOperations(this); + this._dedicatedCircuitLinkAuthorizationLiveIds = new DedicatedCircuitLinkAuthorizationLiveIdOperations(this); + this._dedicatedCircuitLinkAuthorizations = new DedicatedCircuitLinkAuthorizationOperations(this); this._dedicatedCircuitLinks = new DedicatedCircuitLinkOperations(this); this._dedicatedCircuits = new DedicatedCircuitOperations(this); this._dedicatedCircuitServiceProviders = new DedicatedCircuitServiceProviderOperations(this); diff --git a/src/ExpressRouteManagement/Generated/IAuthorizedDedicatedCircuitOperations.cs b/src/ExpressRouteManagement/Generated/IAuthorizedDedicatedCircuitOperations.cs new file mode 100644 index 000000000000..e2ee0f428d91 --- /dev/null +++ b/src/ExpressRouteManagement/Generated/IAuthorizedDedicatedCircuitOperations.cs @@ -0,0 +1,59 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute +{ + public partial interface IAuthorizedDedicatedCircuitOperations + { + /// + /// The Get Dedicated Circuit operation retrieves the specified + /// authorized dedicated circuit. + /// + /// + /// The service key representing the circuit. + /// + /// + /// Cancellation token. + /// + /// + /// The Get Authorized Dedicated Circuit operation response. + /// + Task GetAsync(string serviceKey, CancellationToken cancellationToken); + + /// + /// The List Dedicated Circuit operation retrieves a list of dedicated + /// circuits owned by the customer. + /// + /// + /// Cancellation token. + /// + /// + /// The List Authorized Dedicated Circuit operation response. + /// + Task ListAsync(CancellationToken cancellationToken); + } +} diff --git a/src/ExpressRouteManagement/Generated/IDedicatedCircuitLinkAuthorizationLiveIdOperations.cs b/src/ExpressRouteManagement/Generated/IDedicatedCircuitLinkAuthorizationLiveIdOperations.cs new file mode 100644 index 000000000000..6262d34c0eec --- /dev/null +++ b/src/ExpressRouteManagement/Generated/IDedicatedCircuitLinkAuthorizationLiveIdOperations.cs @@ -0,0 +1,75 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.WindowsAzure; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute +{ + public partial interface IDedicatedCircuitLinkAuthorizationLiveIdOperations + { + /// + /// Adds live Ids to the specified authorization + /// + /// + /// The service key representing the circuit. + /// + /// + /// The GUID representing the authorization + /// + /// + /// Parameters supplied to add new live Ids + /// + /// + /// Cancellation token. + /// + /// + /// A standard service response including an HTTP status code and + /// request ID. + /// + Task NewAsync(string serviceKey, string authId, DedicatedCircuitLinkAuthorizationLiveIdNewParameters parameters, CancellationToken cancellationToken); + + /// + /// Removes live Ids from the specified authorization + /// + /// + /// The service key representing the circuit. + /// + /// + /// The GUID representing the authorization + /// + /// + /// Parameters supplied to remove existing live Ids + /// + /// + /// Cancellation token. + /// + /// + /// A standard service response including an HTTP status code and + /// request ID. + /// + Task RemoveAsync(string serviceKey, string authId, DedicatedCircuitLinkAuthorizationLiveIdRemoveParameters parameters, CancellationToken cancellationToken); + } +} diff --git a/src/ExpressRouteManagement/Generated/IDedicatedCircuitLinkAuthorizationOperations.cs b/src/ExpressRouteManagement/Generated/IDedicatedCircuitLinkAuthorizationOperations.cs new file mode 100644 index 000000000000..a1720c5861fe --- /dev/null +++ b/src/ExpressRouteManagement/Generated/IDedicatedCircuitLinkAuthorizationOperations.cs @@ -0,0 +1,150 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute +{ + public partial interface IDedicatedCircuitLinkAuthorizationOperations + { + /// + /// The Remove Dedicated Circuit Link Authorization operation deletes + /// an existing dedicated circuit link. + /// + /// + /// Service key representing the dedicated circuit. + /// + /// + /// The GUID representing the authorization + /// + /// + /// Cancellation token. + /// + /// + /// A standard service response including an HTTP status code and + /// request ID. + /// + Task BeginRemoveAsync(string serviceKey, string authId, CancellationToken cancellationToken); + + /// + /// Gets the link authorization for the specified dedicated circuit. + /// + /// + /// The service key representing the circuit. + /// + /// + /// The GUID representing the authorization + /// + /// + /// Cancellation token. + /// + /// + /// Get link authorization operation response. + /// + Task GetAsync(string serviceKey, string authId, CancellationToken cancellationToken); + + /// + /// Lists the specified link authorization for the specified dedicated + /// circuit. + /// + /// + /// The service key representing the circuit. + /// + /// + /// Cancellation token. + /// + /// + /// List link authorization operation response. + /// + Task ListAsync(string serviceKey, CancellationToken cancellationToken); + + /// + /// Gets the specified link authorization for the specified dedicated + /// circuit. + /// + /// + /// The service key representing the circuit. + /// + /// + /// Parameters supplied to the new Dedicated Circuit link authorization + /// operation. + /// + /// + /// Cancellation token. + /// + /// + /// Get link authorization operation response. + /// + Task NewAsync(string serviceKey, DedicatedCircuitLinkAuthorizationNewParameters parameters, CancellationToken cancellationToken); + + /// + /// The Remove Dedicated Circuit Link Authorization operation deletes + /// an existing dedicated circuit link. + /// + /// + /// Service Key associated with the dedicated circuit. + /// + /// + /// The GUID representing the authorization + /// + /// + /// Cancellation token. + /// + /// + /// 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. + /// + Task RemoveAsync(string serviceKey, string authId, CancellationToken cancellationToken); + + /// + /// Updates the specified link authorization for the specified + /// dedicated circuit. + /// + /// + /// The service key representing the circuit. + /// + /// + /// The GUID representing the authorization + /// + /// + /// Parameters supplied to the Update Dedicated Circuit link + /// authorization operation. + /// + /// + /// Cancellation token. + /// + /// + /// Update link authorization operation response. + /// + Task UpdateAsync(string serviceKey, string authId, DedicatedCircuitLinkAuthorizationUpdateParameters parameters, CancellationToken cancellationToken); + } +} diff --git a/src/ExpressRouteManagement/Generated/IExpressRouteManagementClient.cs b/src/ExpressRouteManagement/Generated/IExpressRouteManagementClient.cs index 29bb4c0abc3d..19ca4c1b92f7 100644 --- a/src/ExpressRouteManagement/Generated/IExpressRouteManagementClient.cs +++ b/src/ExpressRouteManagement/Generated/IExpressRouteManagementClient.cs @@ -82,6 +82,11 @@ int LongRunningOperationRetryTimeout get; set; } + IAuthorizedDedicatedCircuitOperations AuthorizedDedicatedCircuits + { + get; + } + IBorderGatewayProtocolPeeringOperations BorderGatewayProtocolPeerings { get; @@ -92,6 +97,16 @@ ICrossConnectionOperations CrossConnections get; } + IDedicatedCircuitLinkAuthorizationLiveIdOperations DedicatedCircuitLinkAuthorizationLiveIds + { + get; + } + + IDedicatedCircuitLinkAuthorizationOperations DedicatedCircuitLinkAuthorizations + { + get; + } + IDedicatedCircuitLinkOperations DedicatedCircuitLinks { get; diff --git a/src/ExpressRouteManagement/Generated/Models/AuthorizedDedicatedCircuitGetResponse.cs b/src/ExpressRouteManagement/Generated/Models/AuthorizedDedicatedCircuitGetResponse.cs new file mode 100644 index 000000000000..be38515e208e --- /dev/null +++ b/src/ExpressRouteManagement/Generated/Models/AuthorizedDedicatedCircuitGetResponse.cs @@ -0,0 +1,53 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; +using Microsoft.WindowsAzure; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute.Models +{ + /// + /// The Get Authorized Dedicated Circuit operation response. + /// + public partial class AuthorizedDedicatedCircuitGetResponse : OperationResponse + { + private AzureAuthorizedDedicatedCircuit _authorizedDedicatedCircuit; + + /// + /// Optional. Details of the authorized dedicated circuit. + /// + public AzureAuthorizedDedicatedCircuit AuthorizedDedicatedCircuit + { + get { return this._authorizedDedicatedCircuit; } + set { this._authorizedDedicatedCircuit = value; } + } + + /// + /// Initializes a new instance of the + /// AuthorizedDedicatedCircuitGetResponse class. + /// + public AuthorizedDedicatedCircuitGetResponse() + { + } + } +} diff --git a/src/ExpressRouteManagement/Generated/Models/AuthorizedDedicatedCircuitListResponse.cs b/src/ExpressRouteManagement/Generated/Models/AuthorizedDedicatedCircuitListResponse.cs new file mode 100644 index 000000000000..7cd08f2a8d45 --- /dev/null +++ b/src/ExpressRouteManagement/Generated/Models/AuthorizedDedicatedCircuitListResponse.cs @@ -0,0 +1,71 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.WindowsAzure; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute.Models +{ + /// + /// The List Authorized Dedicated Circuit operation response. + /// + public partial class AuthorizedDedicatedCircuitListResponse : OperationResponse, IEnumerable + { + private IList _authorizedDedicatedCircuits; + + /// + /// Optional. + /// + public IList AuthorizedDedicatedCircuits + { + get { return this._authorizedDedicatedCircuits; } + set { this._authorizedDedicatedCircuits = value; } + } + + /// + /// Initializes a new instance of the + /// AuthorizedDedicatedCircuitListResponse class. + /// + public AuthorizedDedicatedCircuitListResponse() + { + this.AuthorizedDedicatedCircuits = new List(); + } + + /// + /// Gets the sequence of AuthorizedDedicatedCircuits. + /// + public IEnumerator GetEnumerator() + { + return this.AuthorizedDedicatedCircuits.GetEnumerator(); + } + + /// + /// Gets the sequence of AuthorizedDedicatedCircuits. + /// + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() + { + return this.GetEnumerator(); + } + } +} diff --git a/src/ExpressRouteManagement/Generated/Models/AzureAuthorizedDedicatedCircuit.cs b/src/ExpressRouteManagement/Generated/Models/AzureAuthorizedDedicatedCircuit.cs new file mode 100644 index 000000000000..5fb754233d90 --- /dev/null +++ b/src/ExpressRouteManagement/Generated/Models/AzureAuthorizedDedicatedCircuit.cs @@ -0,0 +1,143 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute.Models +{ + /// + /// Describes an authorized Dedicated Circuit. + /// + public partial class AzureAuthorizedDedicatedCircuit + { + private uint _bandwidth; + + /// + /// Optional. Specifies the bandwidth that is assigned to the circuit. + /// + public uint Bandwidth + { + get { return this._bandwidth; } + set { this._bandwidth = value; } + } + + private string _circuitName; + + /// + /// Optional. Specifies the name of the circuit. + /// + public string CircuitName + { + get { return this._circuitName; } + set { this._circuitName = value; } + } + + private string _location; + + /// + /// Optional. Specifies the peering location of the circuit. + /// + public string Location + { + get { return this._location; } + set { this._location = value; } + } + + private int _maximumAllowedLinks; + + /// + /// Optional. Maximum number of allowed links on this circuit + /// + public int MaximumAllowedLinks + { + get { return this._maximumAllowedLinks; } + set { this._maximumAllowedLinks = value; } + } + + private string _serviceKey; + + /// + /// Optional. A value that uniquely identifies the circuit. + /// + public string ServiceKey + { + get { return this._serviceKey; } + set { this._serviceKey = value; } + } + + private string _serviceProviderName; + + /// + /// Optional. Specifies the name of the dedicated circuit service + /// provider. + /// + public string ServiceProviderName + { + get { return this._serviceProviderName; } + set { this._serviceProviderName = value; } + } + + private ProviderProvisioningState _serviceProviderProvisioningState; + + /// + /// Optional. Specifies the provisioning state of the circuit. Values + /// are NotProvisioned, Provisioning, Provisioned, or DeProvisioning. + /// + public ProviderProvisioningState ServiceProviderProvisioningState + { + get { return this._serviceProviderProvisioningState; } + set { this._serviceProviderProvisioningState = value; } + } + + private DedicatedCircuitState _status; + + /// + /// Optional. The current status of the circuit. Values are Disabled, + /// Disabliing, Enabled, Enabling. + /// + public DedicatedCircuitState Status + { + get { return this._status; } + set { this._status = value; } + } + + private int _usedLinks; + + /// + /// Optional. Current number of used links + /// + public int UsedLinks + { + get { return this._usedLinks; } + set { this._usedLinks = value; } + } + + /// + /// Initializes a new instance of the AzureAuthorizedDedicatedCircuit + /// class. + /// + public AzureAuthorizedDedicatedCircuit() + { + } + } +} diff --git a/src/ExpressRouteManagement/Generated/Models/AzureDedicatedCircuitLinkAuthorization.cs b/src/ExpressRouteManagement/Generated/Models/AzureDedicatedCircuitLinkAuthorization.cs new file mode 100644 index 000000000000..495a0b4bd187 --- /dev/null +++ b/src/ExpressRouteManagement/Generated/Models/AzureDedicatedCircuitLinkAuthorization.cs @@ -0,0 +1,97 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute.Models +{ + /// + /// Describes a link authorization. + /// + public partial class AzureDedicatedCircuitLinkAuthorization + { + private string _description; + + /// + /// Optional. Specifies the description associated with this + /// authorization. + /// + public string Description + { + get { return this._description; } + set { this._description = value; } + } + + private int _limit; + + /// + /// Optional. Number of dedicated circuit links allowed amongst all + /// live Ids + /// + public int Limit + { + get { return this._limit; } + set { this._limit = value; } + } + + private string _linkAuthId; + + /// + /// Optional. A value that uniquely identifies an authorization + /// + public string LinkAuthId + { + get { return this._linkAuthId; } + set { this._linkAuthId = value; } + } + + private string _liveIds; + + /// + /// Optional. Specifies a comma separated list of live Ids + /// + public string LiveIds + { + get { return this._liveIds; } + set { this._liveIds = value; } + } + + private int _used; + + /// + /// Optional. Number of dedicated circuit links created so far + /// + public int Used + { + get { return this._used; } + set { this._used = value; } + } + + /// + /// Initializes a new instance of the + /// AzureDedicatedCircuitLinkAuthorization class. + /// + public AzureDedicatedCircuitLinkAuthorization() + { + } + } +} diff --git a/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationGetResponse.cs b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationGetResponse.cs new file mode 100644 index 000000000000..4ffa6bdb60ba --- /dev/null +++ b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationGetResponse.cs @@ -0,0 +1,53 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; +using Microsoft.WindowsAzure; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute.Models +{ + /// + /// Get link authorization operation response. + /// + public partial class DedicatedCircuitLinkAuthorizationGetResponse : OperationResponse + { + private AzureDedicatedCircuitLinkAuthorization _dedicatedCircuitLinkAuthorization; + + /// + /// Optional. Details of the requested link authorization. + /// + public AzureDedicatedCircuitLinkAuthorization DedicatedCircuitLinkAuthorization + { + get { return this._dedicatedCircuitLinkAuthorization; } + set { this._dedicatedCircuitLinkAuthorization = value; } + } + + /// + /// Initializes a new instance of the + /// DedicatedCircuitLinkAuthorizationGetResponse class. + /// + public DedicatedCircuitLinkAuthorizationGetResponse() + { + } + } +} diff --git a/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationListResponse.cs b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationListResponse.cs new file mode 100644 index 000000000000..205a5f3420df --- /dev/null +++ b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationListResponse.cs @@ -0,0 +1,71 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.WindowsAzure; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute.Models +{ + /// + /// List link authorization operation response. + /// + public partial class DedicatedCircuitLinkAuthorizationListResponse : OperationResponse, IEnumerable + { + private IList _dedicatedCircuitLinkAuthorizations; + + /// + /// Optional. Details of the collection of link authorizations. + /// + public IList DedicatedCircuitLinkAuthorizations + { + get { return this._dedicatedCircuitLinkAuthorizations; } + set { this._dedicatedCircuitLinkAuthorizations = value; } + } + + /// + /// Initializes a new instance of the + /// DedicatedCircuitLinkAuthorizationListResponse class. + /// + public DedicatedCircuitLinkAuthorizationListResponse() + { + this.DedicatedCircuitLinkAuthorizations = new List(); + } + + /// + /// Gets the sequence of DedicatedCircuitLinkAuthorizations. + /// + public IEnumerator GetEnumerator() + { + return this.DedicatedCircuitLinkAuthorizations.GetEnumerator(); + } + + /// + /// Gets the sequence of DedicatedCircuitLinkAuthorizations. + /// + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() + { + return this.GetEnumerator(); + } + } +} diff --git a/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationLiveIdNewParameters.cs b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationLiveIdNewParameters.cs new file mode 100644 index 000000000000..a6266d697749 --- /dev/null +++ b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationLiveIdNewParameters.cs @@ -0,0 +1,51 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute.Models +{ + /// + /// The parameters to add more live Ids to an existing authorization + /// + public partial class DedicatedCircuitLinkAuthorizationLiveIdNewParameters + { + private string _liveIds; + + /// + /// Optional. A comma separated list of live Ids + /// + public string LiveIds + { + get { return this._liveIds; } + set { this._liveIds = value; } + } + + /// + /// Initializes a new instance of the + /// DedicatedCircuitLinkAuthorizationLiveIdNewParameters class. + /// + public DedicatedCircuitLinkAuthorizationLiveIdNewParameters() + { + } + } +} diff --git a/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationLiveIdRemoveParameters.cs b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationLiveIdRemoveParameters.cs new file mode 100644 index 000000000000..45b119eb39c3 --- /dev/null +++ b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationLiveIdRemoveParameters.cs @@ -0,0 +1,51 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute.Models +{ + /// + /// The parameters to remove existing live Ids from an authorization + /// + public partial class DedicatedCircuitLinkAuthorizationLiveIdRemoveParameters + { + private string _liveIds; + + /// + /// Optional. A comma separated list of live Ids + /// + public string LiveIds + { + get { return this._liveIds; } + set { this._liveIds = value; } + } + + /// + /// Initializes a new instance of the + /// DedicatedCircuitLinkAuthorizationLiveIdRemoveParameters class. + /// + public DedicatedCircuitLinkAuthorizationLiveIdRemoveParameters() + { + } + } +} diff --git a/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationNewParameters.cs b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationNewParameters.cs new file mode 100644 index 000000000000..58f15afb893b --- /dev/null +++ b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationNewParameters.cs @@ -0,0 +1,75 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute.Models +{ + /// + /// The parameters to the New Dedicated Circuit Link Authorization request. + /// + public partial class DedicatedCircuitLinkAuthorizationNewParameters + { + private string _description; + + /// + /// Optional. Specifies the description associated with this + /// authorization. + /// + public string Description + { + get { return this._description; } + set { this._description = value; } + } + + private int _limit; + + /// + /// Optional. Number of dedicated circuit links allowed amongst all + /// live Ids + /// + public int Limit + { + get { return this._limit; } + set { this._limit = value; } + } + + private string _liveIds; + + /// + /// Optional. Specifies a comma separated list of live Ids + /// + public string LiveIds + { + get { return this._liveIds; } + set { this._liveIds = value; } + } + + /// + /// Initializes a new instance of the + /// DedicatedCircuitLinkAuthorizationNewParameters class. + /// + public DedicatedCircuitLinkAuthorizationNewParameters() + { + } + } +} diff --git a/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationNewResponse.cs b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationNewResponse.cs new file mode 100644 index 000000000000..b0226227aec9 --- /dev/null +++ b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationNewResponse.cs @@ -0,0 +1,53 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; +using Microsoft.WindowsAzure; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute.Models +{ + /// + /// Get link authorization operation response. + /// + public partial class DedicatedCircuitLinkAuthorizationNewResponse : OperationResponse + { + private AzureDedicatedCircuitLinkAuthorization _dedicatedCircuitLinkAuthorization; + + /// + /// Optional. Details of the requested link authorization. + /// + public AzureDedicatedCircuitLinkAuthorization DedicatedCircuitLinkAuthorization + { + get { return this._dedicatedCircuitLinkAuthorization; } + set { this._dedicatedCircuitLinkAuthorization = value; } + } + + /// + /// Initializes a new instance of the + /// DedicatedCircuitLinkAuthorizationNewResponse class. + /// + public DedicatedCircuitLinkAuthorizationNewResponse() + { + } + } +} diff --git a/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationUpdateParameters.cs b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationUpdateParameters.cs new file mode 100644 index 000000000000..21403cfadc64 --- /dev/null +++ b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationUpdateParameters.cs @@ -0,0 +1,65 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute.Models +{ + /// + /// The parameters to the Update Dedicated Circuit Link Authorization + /// request. + /// + public partial class DedicatedCircuitLinkAuthorizationUpdateParameters + { + private string _description; + + /// + /// Optional. Specifies the description associated with this + /// authorization. + /// + public string Description + { + get { return this._description; } + set { this._description = value; } + } + + private int _limit; + + /// + /// Optional. Number of dedicated circuit links allowed amongst all + /// live Ids + /// + public int Limit + { + get { return this._limit; } + set { this._limit = value; } + } + + /// + /// Initializes a new instance of the + /// DedicatedCircuitLinkAuthorizationUpdateParameters class. + /// + public DedicatedCircuitLinkAuthorizationUpdateParameters() + { + } + } +} diff --git a/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationUpdateResponse.cs b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationUpdateResponse.cs new file mode 100644 index 000000000000..455a8bafb6ee --- /dev/null +++ b/src/ExpressRouteManagement/Generated/Models/DedicatedCircuitLinkAuthorizationUpdateResponse.cs @@ -0,0 +1,53 @@ +// +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Warning: This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if the +// code is regenerated. + +using System; +using System.Linq; +using Microsoft.WindowsAzure; +using Microsoft.WindowsAzure.Management.ExpressRoute.Models; + +namespace Microsoft.WindowsAzure.Management.ExpressRoute.Models +{ + /// + /// Update link authorization operation response. + /// + public partial class DedicatedCircuitLinkAuthorizationUpdateResponse : OperationResponse + { + private AzureDedicatedCircuitLinkAuthorization _dedicatedCircuitLinkAuthorization; + + /// + /// Optional. Details of the updated link authorization. + /// + public AzureDedicatedCircuitLinkAuthorization DedicatedCircuitLinkAuthorization + { + get { return this._dedicatedCircuitLinkAuthorization; } + set { this._dedicatedCircuitLinkAuthorization = value; } + } + + /// + /// Initializes a new instance of the + /// DedicatedCircuitLinkAuthorizationUpdateResponse class. + /// + public DedicatedCircuitLinkAuthorizationUpdateResponse() + { + } + } +} diff --git a/src/ExpressRouteManagement/Microsoft.WindowsAzure.Management.ExpressRoute.nuget.proj b/src/ExpressRouteManagement/Microsoft.WindowsAzure.Management.ExpressRoute.nuget.proj index 768bffeca29f..ef19d28a554c 100644 --- a/src/ExpressRouteManagement/Microsoft.WindowsAzure.Management.ExpressRoute.nuget.proj +++ b/src/ExpressRouteManagement/Microsoft.WindowsAzure.Management.ExpressRoute.nuget.proj @@ -5,7 +5,7 @@ Microsoft.WindowsAzure.Management.ExpressRoute --> - 0.12.0-preview + 0.13.0-preview $(MSBuildThisFileDirectory) diff --git a/src/ExpressRouteManagement/Properties/AssemblyInfo.cs b/src/ExpressRouteManagement/Properties/AssemblyInfo.cs index f718351dd7aa..e75e29e86093 100644 --- a/src/ExpressRouteManagement/Properties/AssemblyInfo.cs +++ b/src/ExpressRouteManagement/Properties/AssemblyInfo.cs @@ -20,7 +20,7 @@ [assembly: AssemblyDescription("Provides express route management capabilities to developers. Create, delete, list, retrieve dedicated circuits, bgp peerings, dedicated circuit links, and more.")] [assembly: AssemblyVersion("0.9.0.0")] -[assembly: AssemblyFileVersion("0.12.0.0")] +[assembly: AssemblyFileVersion("0.13.0.0")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Microsoft")] diff --git a/src/ExpressRouteManagement/packages.config b/src/ExpressRouteManagement/packages.config index 0570e71bb475..5f2eefc8514c 100644 --- a/src/ExpressRouteManagement/packages.config +++ b/src/ExpressRouteManagement/packages.config @@ -7,6 +7,6 @@ - + \ No newline at end of file